JavaScript form submit WITH a field called submit

Issue

I was wondering if there is any method (using JS or otherwise) to autosubmit a form with a field with name and id as ‘submit’. Essentially, my entire HTML code looks like this:

<html>
<body onload=myForm.submit()>
<form id="myForm" name="myForm" action="http://example.com/examplePage.do" method="POST">
<input type=hidden name="val1" id="val1" value="some_Value"/>
<input type=hidden name="val2" id="val2" value="another_Value"/>
<input type=hidden name="val3" id="val3" value="yet_another_Value"/>
<input type=hidden name="submit" id="submit" value="Continue"/>
</form>
</body>
</html>

Obviously, the myForm.submit() returns a myForm.submit is not a function error. The server rejects the request if there is no ‘submit’ field with value as ‘Continue’ and the requirement is to auto-submit this.

Solution

The submit function for that form is completely inaccessible (it has been overwritten). You can steal one from another form though.

document.createElement('form').submit.call(document.getElementById('myform'))

Doesn’t work in old-IE. (I think support appears from IE7 onwards)

Answered By – Quentin

Answer Checked By – Timothy Miller (AngularFixing Admin)

Leave a Reply

Your email address will not be published.