document.getElementById('myForm').submit() does not work

A

antonyliu2002

Hi,

It looks like so many people are having problems with the javascript
submit in firefox. I searched around, but haven't found a solution
yet. Mostly, people were saying, try this or try that or maybe blah
blah or why do you wanna do that blah blah. I haven't seen a solution
to this problem.

OK, I am trying to share session objects between classic asp
applications and asp.net applications. If you insist in asking why I
wanna do this, because a big chunk of our web application was written a
few years ago in classic ASP, and I am gonna add new components to it
in ASP.NET (I don't wanna write in classic ASP).

So, I searched and found a very good solution to this problem at
http://www.eggheadcafe.com/articles/20021207.asp

That is a great strategy, but the automatic submit by the javascript
(shown below where 't' is the id of the form) in the hidden page works
for IE, but not for firefox.

<script>t.submit();</script>

Please note that this is intended to *automatically* submit, in other
words, there are no button clicks.

I tried instead

document.getElementById(t).submit(); and
document.getElementById('t').submit(); and
(document.getElementById('t')).submit();

None of these worked for firefox.

I believe many out there are having the same problem. Any solution
yet? Thanks.
 
V

VK

That is a great strategy, but the automatic submit by the javascript
(shown below where 't' is the id of the form) in the hidden page works
for IE, but not for firefox.

Check for two of the most common mistakes:

1) You form has *name* "t" and not id "t" - then naturally
getElementById is out of business here.

2) Your submit button in the form is called "submit":
<input type="submit" name="submit"...> Some badly written authoring
tools still do it by default and it nukes dot-based method accessor for
form submit.

3) The autoreferencing of ID'ed elements in the global scope is IE's
invention. Firefox alas does it too but in quirk mode. Use DOM 0 form
access methods, they are still the best (and no global scope
pollution):
<form name="t" action="...">

and then

document.forms['t'].submit()

or (if in another frame):

parent.frames['frameName'].document.forms['t'].submit()

If the problem persists it may be needed to see the relevant fragment
of your page (or a link).
 
A

antonyliu2002

VK said:
That is a great strategy, but the automatic submit by the javascript
(shown below where 't' is the id of the form) in the hidden page works
for IE, but not for firefox.

Check for two of the most common mistakes:

1) You form has *name* "t" and not id "t" - then naturally
getElementById is out of business here.

2) Your submit button in the form is called "submit":
<input type="submit" name="submit"...> Some badly written authoring
tools still do it by default and it nukes dot-based method accessor for
form submit.

3) The autoreferencing of ID'ed elements in the global scope is IE's
invention. Firefox alas does it too but in quirk mode. Use DOM 0 form
access methods, they are still the best (and no global scope
pollution):
<form name="t" action="...">

and then

document.forms['t'].submit()

or (if in another frame):

parent.frames['frameName'].document.forms['t'].submit()

If the problem persists it may be needed to see the relevant fragment
of your page (or a link).

Hi, VK, thanks a lot for your hint. I tried exactly as you instructed.
It still does not work. This one is really hard. Not sure why
Firefox does this.
 
R

RobG

Hi, VK, thanks a lot for your hint. I tried exactly as you instructed.
It still does not work. This one is really hard. Not sure why
Firefox does this.

Post an example where Firefox doesn't do "this" and IE does. Then
you'll get some precise help, rather than guesses.

The following example works in Firefox:

<form name="fred" action="">
<input type="text" value="blah" name="blahInput">
</form>

<a href="#" onclick="document.forms['fred'].submit();">Submit the form
"fred"</a>


Which shows that calling a form's submit method works, therefore the
error is elsewhere.
 
A

antonyliu2002

RobG said:
Hi, VK, thanks a lot for your hint. I tried exactly as you instructed.
It still does not work. This one is really hard. Not sure why
Firefox does this.

Post an example where Firefox doesn't do "this" and IE does. Then
you'll get some precise help, rather than guesses.

The following example works in Firefox:

<form name="fred" action="">
<input type="text" value="blah" name="blahInput">
</form>

<a href="#" onclick="document.forms['fred'].submit();">Submit the form
"fred"</a>


Which shows that calling a form's submit method works, therefore the
error is elsewhere.

Thanks. Rob,

The problem seems to be this: I need to include

<html><head><title>Test</title></head><body> before <form> and then
</body></html> after </form>

for firefox to work. Whereas, IE does not care about "incomplete" HTML
page.

I tried this, if I don't make the HTML page complete with those basic
tags, then Firefox won't work for this snippet of code, otherwise, it
works.

A great lesson to learn.
 
R

RobG

RobG said:
Hi, VK, thanks a lot for your hint. I tried exactly as you instructed.
It still does not work. This one is really hard. Not sure why
Firefox does this.

Post an example where Firefox doesn't do "this" and IE does. Then
you'll get some precise help, rather than guesses.

The following example works in Firefox:

<form name="fred" action="">
<input type="text" value="blah" name="blahInput">
</form>

<a href="#" onclick="document.forms['fred'].submit();">Submit the form
"fred"</a>


Which shows that calling a form's submit method works, therefore the
error is elsewhere.

Thanks. Rob,

The problem seems to be this: I need to include

<html><head><title>Test</title></head><body> before <form> and then
</body></html> after </form>

for firefox to work. Whereas, IE does not care about "incomplete" HTML
page.

There must be more to this than you've posted - head, body and HTML
tags are all optional. The code that I posted works in Firefox even it
that's all that's in the page. Add a doctype and title element and
it's valid HTML.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,754
Messages
2,569,522
Members
44,995
Latest member
PinupduzSap

Latest Threads

Top