Jquery Form Submit
My goal is: When for is submitted: a validation on form is made : OK an ajax is called to see that username and password do match : OK if they don't match, display an error: OK
Solution 1:
You can call the native submit event, so do this:
$('#form1').submit(form1Submit);
Then in your post callback do this:
$.post("check.php", { username: username, password:password }, function(data) {
if (data=="ko") {
alert('bad password');
} else {
this.submit();
}
});
The this.submit()
isn't calling he jQuery .submit()
trigger function, but rather the native <form>
.submit()
function.
Solution 2:
The return false
is blocking the default form submit action. You have either to return true
from the form1Submit()
function to let the default form submit action do its job, or to add another $.post()
inside the else
which submits the data to the form asynchronously, if your intent was to do it using ajaxical powers.
Solution 3:
The problem is that form1Submit always returns false.
Solution 4:
functionform1Submit(ev, ok) {
ev.stopPropagation();
ok = (typeof ok != 'undefined') ? ok : false;
if (ok)
returntrue;
var username=$('#username').val(),
password=$('#password').val(),
selfForm = this;
if (username.length < 2)
returnfalse;
if (password.length < 2)
returnfalse;
$.post("check.php", { username: username, password:password }, function(data) {
if (data=="ko") {
alert('bad password');
} else {
$(selfForm).trigger('submit', [true]); // again submit but with ok parameter
}
});
returnfalse;
}
functioninit() {
$('#form1').bind('submit', form1Submit);
}
$(document).ready(function(){
init();
})
Post a Comment for "Jquery Form Submit"