Generally, a form is submitted when the user presses a submit button. However, sometimes, you may need to submit the form programmatically using JavaScript.
JavaScript provides the form object that contains the submit() method. Use the ‘id’ of the form to get the form object.
For example, if the name of your form is ‘myform’, the JavaScript code for the submit call is:
document.forms["myform"].submit();
But, how to identify a form? Give an id attribute in the form tag
Here is the code to submit a form when a hyperlink is clicked:
<form name="myform" action="handle-data.php">
Search: <input type='text' name='query' />
<a href="javascript: submitform()">Search</a>
</form>
<script type="text/javascript">
function submitform()
{
document.myform.submit();
}
</script>
Click the link below to see the code in action: JavaScript Form Submit Example 1
Conducting Form Validations
You can make your form validations very easy by using the Form Validator Script. (See JavaScript Form Validation : quick and easy! ).
The form validation script uses the onsubmit()
event of the form to validate the input. The browser does not trigger the onsubmit
event if you call the submit method programmatically. Therefore, if the form is using the form validator script, call the onsubmit
method also to trigger the validation.
See the example below:
<!-- Include the validator script-->
<script src="/scripts/gen_validatorv2.js"
type="text/javascript"></script>
<form id="myform" action="handle-data.php">
Search: <input type='text' name='query' />
<A href="javascript: submitform()">Search</A>
</form>
<!-- Add validations to the form-->
<script type="text/javascript">
var myformValidator = new Validator("myform");
myformValidator.addValidation("query","req",
"Please enter the value for query");
</script>
<!-- The function that submits the form-->
<script type="text/javascript">
function submitform()
{
if(document.myform.onsubmit())
{//this check triggers the validations
document.myform.submit();
}
}
</script>
Using image for submitting the form
Instead of the default gray submit button, you may like to use an image. There are two ways to use an image instead of the button.
Method 1 : Use the ‘Image’ input type
Standard HTML provides an input type ‘image’. You can use image input type to create a submit button. See the code below:
<form name="myform" action="handle-data.pl">
Search: <input type='text' name='query' />
<input type="image" src="go.gif" />
</form>
JavaScript form submit example 3
Method 2 : Use JavaScript Form Submit
Just like in the example above, use JavaScript form submit() function to submit the form. The sample code below shows the same:
<form name="myform" action="handle-data.php">
Search: <input type='text' name='query' />
<a href="javascript: submitform()">
<img src="go.gif" width="33" height="19" border="0" />
</a>
</form>
<script type="text/javascript">
function submitform()
{
if(document.myform.onsubmit &&
!document.myform.onsubmit())
{
return;
}
document.myform.submit();
}
</script>
Image input form submit example
Want to have multiple submit buttons in a form?
See Also
- JavaScript Form Validation : quick and easy!
- JavaScript Form Validation Script: More features
- Simfatic Forms Validation: save your time coding
- How to get the value of a form element : Drop downs and lists
- How to get the value of a form element : check box and radio button
- How to get the value of a form element using JavaScript
- Using JavaScript to access form objects when there are multiple forms
- Using JavaScript to reset or clear a form
- The HTML Form Submit Button