0

我正在使用jquery.validate.min.js脚本,就验证而言,它的工作正常。

我的问题是它应该发布/提交到数据,但我需要它success.php在成功提交后实际进入页面。

现在它只是success.php在我的主页中回显并显示。

下面的代码如何:

<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
<script>
$(document).ready(function() {

$("#form1").validate({

    debug: false,
    rules: {
    name: "required",
    email: {
    required: true,
    email: true,
    }
    },
    messages: {
    name: "Please enter your name.",
    email: "Please enter a valid email address.",
    },
    submitHandler: function(form) {

    $.post('success.php', $("#form1").serialize(), function(data) {
    $('#result').html(data);
    });

    }
});

}); 


<form id="form1" action="success.php" method="POST">
    <input name="name" type="text" />
    <input name="email" type="text" />
    <input type="submit" value="submit" />
</form>
</script>

提交成功后如何让它进入发帖页面?

4

2 回答 2

1

你的代码:

submitHandler: function(form) {
    $.post('success.php', $("#form1").serialize(), function(data) {
        $('#result').html(data);
    });
}

“现在它只是success.php在我的主页中回显并显示。”

是的,这正是jQuery$.post()应该发挥作用的方式。是ajax

只需submitHandler.validate(). ajax如果您只是希望它重定向到默认页面,那么在这种情况下使用提交表单确实没有意义。删除该submitHandler选项,它将像标准表单一样根据您的action属性进行重定向。

默认情况下,插件会测试有效性,如果表单有效,它将像任何其他标准表单一样提交并遵循您的action="success.php".

工作演示:http: //jsfiddle.net/yCePj/

$(document).ready(function () {

    $("#form1").validate({
        debug: false,
        rules: {
            name: "required",
            email: {
                required: true,
                email: true,
            }
        },
        messages: {
            name: "Please enter your name.",
            email: "Please enter a valid email address.",
        }
    });

});
于 2013-03-06T16:32:39.553 回答
0

那这个呢?

    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
<script>
$(document).ready(function() {

$("#form1").validate({

    debug: false,
    rules: {
    name: "required",
    email: {
    required: true,
    email: true,
    }
    },
    messages: {
    name: "Please enter your name.",
    email: "Please enter a valid email address.",
    }
});

}); 

function SubmitIfValid()
{
    if(!$("#form1").valid()) return false;  
    return true;
}

</script>

<form id="form1" action="success.php" method="POST">
    <input name="name" type="text" />
    <input name="email" type="text" />
    <input type="submit" value="submit" onclick="return SubmitIfValid();" />
</form>
于 2013-03-06T16:33:09.253 回答