jQuery表单提交

yar*_*rek 12 javascript forms jquery submit

我的目标是:何时提交:

  • 对表单进行验证:好的
  • 调用ajax以查看用户名和密码是否匹配:OK
  • 如果它们不匹配,则显示错误:OK
  • 如果他们匹配,那么真的提交表格:不行.

事实上麻烦的是,我无法提交表单,因为它上面有一个jquery提交事件!

function form1Submit() {
var username=$('#username').val();
var password=$('#password').val();
if (username.length<2) {
    return false;
}
if (password.length<2) {
    return false;
}
$.post("check.php", { username: username, password:password }, function(data) {
    if (data=="ko") {
        alert('bad password');
        return false;
    } else {
    //to be done here !
    }
});
    return false;
}
function init() {
   $('#form1').submit(function(){
        return form1Submit();
    })
}
$(document).ready(function(){
    init();
})
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 9

您可以调用本机提交事件,所以这样做:

$('#form1').submit(form1Submit);
Run Code Online (Sandbox Code Playgroud)

然后在你的帖子回调中这样做:

$.post("check.php", { username: username, password:password }, function(data) {
    if (data=="ko") {
        alert('bad password');
    } else {
        this.submit();
    }
});
Run Code Online (Sandbox Code Playgroud)

this.submit()不会叫他jQuery的.submit()触发功能,而是原生<form> .submit()功能.