Submit form data both on clicking enter and hitting the submit button from a Bootstrap modal window
71,421
Listen to form submit
event - it gets triggered by both enter and click events.
Markup
<form id="yourForm">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Submit">
</form>
JS
$('#yourForm').submit(function(event){
// prevent default browser behaviour
event.preventDefault();
//do stuff with your form here
...
});
Author by
Anon
Updated on July 18, 2022Comments
-
Anon almost 2 years
Here's my form that's in my modal window:
I have no close button and I have disabled the window from closing on pressing esc. I want to be able to submit the form data on pressing submit or on pressing the enter key.
<div class="modal hide fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false"> <div class="modal-header"> <h3 id="myModalLabel">Enter your Credentials</h3> </div> <div class="modal-body"> <form id="login-form" class="form-horizontal" accept-charset="UTF-8" data-remote="true""> <div class="control-group"> <label class="control-label" for="inputEmail">Email</label> <div class="controls"> <input type="email" id="email" name="email" value="" placeholder="Email"> </div> </div> <div class="control-group"> <label class="control-label" for="inputPassword">Password</label> <div class="controls"> <input type="password" id="passwd" name="passwd" value="" placeholder="Password"> </div> </div> <div class="control-group"> <div class="controls"> <label class="checkbox"> <input type="checkbox"> Remember me </label> <input type="submit" id="login" value="Login"class="btn btn-primary" /> </div> </div> </form> </div> </div>
Here's the script I'm using:
$(document).ready(function(){ $('#myModal').modal('show'); }); function submitLogin() { $.ajax({ url:"login_mysql.php", type:'POST', dataType:"json", data: $("#login-form").serialize() }).done(function(data){ //do something }); } $('#passwd').keypress(function(e) { if (e.which == '13') { submitLogin(); } }); $('#login').click(function(){ submitLogin(); });
On pressing enter after keying in my password or clicking on the submit button the same page reloads and the ajax script does not run. Could someone tell me if my script is clashing with the default settings of my modal window?