使用onSubmit访问$ .ajax函数中的变量

时间:2012-11-29 08:35:16

标签: jquery ajax

我今天花了几个小时来找到问题的解决方案。我有一个标签onsubmit =“return checking();”。 checking()函数将进行输入验证。

function checking(){
    var filename = $("#filename").val();
    $.ajax({
        type: "POST",
        url: url,
        data: $(".myform").serialize(),
        success: function(data){
            if(data == "something"){
               return true;
            }
            else{
               return false;
            }
        }
    });
return false;     // this will trigger my onSubmit
}

但是这个没有用,因为返回值true或false在$ .ajax函数内。那么如何在表单中触发onsubmit呢?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我建议您使用像这样的普通旧按钮,而不是使用提交按钮:

<input id="submit" type="button" value="Submit" />

然后,更改您的处理程序,以便仅在验证通过时才会发生提交,而不是在验证失败时尝试停止提交:

function checking(){
    var filename = $("#filename").val();
    $.ajax({
        type: "POST",
        url: url,
        data: $(".myform").serialize(),
        success: function(data){
            if(data == "something"){
               $('#myform')[0].submit(); //submit your form here
            }
            else{
               return false;
            }
        }
    });
    return false;
}