It is not always mandatory to submit form requires adding the submit button.
You can submit form using javascript and jQuery where you need to define event on the HTML element – checkbox, radio, select, etc.
In this quick tutorial, I show how you can use JavaScript and jQuery to submit form.
Contents
1. Submit using JavaScript
Create a <form id='myapp' > and <select > element with languages <option>. Define submitForm() function on change event of <select>.
When it gets triggered then submit the form by calling submit() method and set an option selected using PHP according to the selected value.
Example
<form method='post' action='' id='myform'>
Select Language : <select name='lang' onchange='submitForm();'>
<option value='hindi' <?php if(isset($_POST['lang']) && $_POST['lang'] == 'hindi'){ echo "selected"; } ?> >Hindi</option>
<option value='english' <?php if(isset($_POST['lang']) && $_POST['lang'] == 'english'){ echo "selected"; } ?> >English</option>
<option value='bengali' <?php if(isset($_POST['lang']) && $_POST['lang'] == 'bengali'){ echo "selected"; } ?> >Bengali</option>
</select>
</form>
<!-- Script -->
<script type='text/javascript'>
function submitForm(){
// Call submit() method on <form id='myform'>
document.getElementById('myform').submit();
}
</script>
2. Submit using jQuery
Using the above HTML, and use jQuery to submit the <form >.
Example
<form method='post' action='' id='myform'>
Select Language : <select name='lang' id='lang' >
<option value='hindi' <?php if(isset($_POST['lang']) && $_POST['lang'] == 'hindi'){ echo "selected"; } ?> >Hindi</option>
<option value='english' <?php if(isset($_POST['lang']) && $_POST['lang'] == 'english'){ echo "selected"; } ?> >English</option>
<option value='bengali' <?php if(isset($_POST['lang']) && $_POST['lang'] == 'bengali'){ echo "selected"; } ?> >Bengali</option>
</select>
</form>
<!-- Script -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type='text/javascript'>
$(document).ready(function(){
$('#lang').change(function(){
// Call submit() method on <form id='myform'>
$('#myform').submit();
});
});
</script>
3. Demo
4. Conclusion
Whenever you need to submit form without using the submit button then bind an event on the element and call the submit() function.
