使用jquery验证但阻止表单提交

时间:2011-05-28 05:30:28

标签: jquery

表单仍然提交。如果我想使用你的代码并添加一个步骤。如果显示红色文本然后阻止表单提交?我该怎么办?谢谢。

这是我的剧本:

jQuery(function($)
{
    if (!$("#edit-name").val() || !$("#edit-email").val() || !$("#edit-comment-body").val())
    {
        $("#edit-submit").click(function()
        {
            $('#edit-name').after('<span style="color:red;">请输入你的名字</span>');
            $('#edit-mail').after('<span style="color:red;">请输入你的邮箱</span>');
            $('#edit-comment-body label span').append('<span style="color:red;">请填写内容</span>');
        });
    }
});

3 个答案:

答案 0 :(得分:2)

验证提交事件中的字段,如:

$('#formID').submit(function(){
      if ($("#edit-name").val()=='' || $("#edit-email").val()=='' || $("#edit-comment-body").val()==''){
        $('#edit-name').after('<span style="color:red;">è¯·è¾“å…¥ä½ çš„åå­—</span>');
        $('#edit-mail').after('<span style="color:red;">è¯·è¾“å…¥ä½ çš„é‚®ç®±</span>');
        $('#edit-comment-body label span').append('<span style="color:red;">请填写内容</span>');

        return false; // to stop form submission in any way

}     });

答案 1 :(得分:1)

<。>在.click(function())上给它一个参数e

    $("#edit-submit").click(function(e)
    {
        e.preventDefault();
        $('#edit-name').after('<span style="color:red;">请输入你的名字</span>');
        $('#edit-mail').after('<span style="color:red;">请输入你的邮箱</span>');
        $('#edit-comment-body label span').append('<span style="color:red;">请填写内容</span>');
    });

答案 2 :(得分:1)

通常,您将事件侦听器挂钩到表单的submit事件,从那里可以返回false。

$("form#foo").submit(function(){
    // validate
    return false;
});