javascript - What is wrong with document.forms[0].submit()? -


i helping web page having problem with, sorted out validation part behavior of submit process not expect.

to catch , stop default event, used following in head of function

var evt = event ? event:window.event; if (evt.preventdefault) evt.preventdefault(); evt.returnvalue = false; evt.cancelbubble = true; 

if change part of it, prevention of default action doesn't work , page in msie submit when validation errors exist or persist. under chrome browser not submit throws error, prevent routine under msie debug show error in same line.

chrome: uncaught typeerror: object not function

msie : object doesn't support property or method

the line in question :

document.forms[0].submit(); 

trying

document.forms.form1.submit(); // or document.forms['form1'].submit(); 

doesn't work

document.forms.form1.reset(); 

or of variants of addressing, including .getemelentsbyid("..."); method works fine, stumped problem, thought js interpreter stuffed did cross mind...

anyone got ideas not use jquery please.

since form.reset() work, form.submit() not, overwriting submit method on form. bet have form element id or name of "submit":

<input id="submit" /> 

or:

<input name="submit" /> 

that way form.submit resolve input element, rather form's submit() method.

quick jsfiddle demo

the easy fix change id of element. harder, less sensible, fix reference prototype submit method , call in context of form:

var f = document.forms.form1; object.getprototypeof(f).submit.call(f); 

or

document.createelement("form").submit.call(document.forms.form1); 

Comments

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -