jQuery验证脚本和叠加层阻止页面“提交”

时间:2011-09-08 15:22:14

标签: javascript jquery forms validation

我正在使用jQuery验证插件(来自MS CDN的1.8.1)来验证表单提交的输入字段。该脚本总共有1000多行,虽然提供了一个很好的方法来验证字段(是的,我事后也检查了PHP)我正在考虑抛弃它而不管它。我已经达到了脚本运行良好的程度。

更新 - 最终代码,正在运行。

代码已更新,但我仍遇到问题。现在,提交函数可以工作,但它永远不会验证字段。 (我知道它是通过长度检查后放置一个简单的alert()测试到达字段的:

    <script type="text/javascript">
$(function(){

  $('#page_submit').click(function() {
    $('#signupform').submit(); 
  });

  if ($("#signupform").length > 0) { 
    $("#signupform").validate({ 
        rules: {
            fname: 'required',
            lname: 'required',
            websitename: 'required',
            address: 'required',
            city: 'required',
            state: 'required',
            zip: { required: true, digits: true },
            password: 'required',
            passwordconf: 'required',
            email: { required: true, email: true }
        },
        messages: {
            fname: 'Your first name is required.',
            lname: 'Your last name is required.',
            email: { required: 'Your email address is required.',
            email: 'Please enter a valid email address.'}
        },
        submitHandler: function(form) {
            $('body').append('<div id="cboxOverlay"></div>');
            $('#cboxOverlay').show();
            form.submit();
        }
    });
  }
});
</script>

注意:上面的代码已被修改,现在可以使用了。必须在此场景中的click函数之后添加submit()函数,因为我们单击图像并添加提交操作,而不是表单中的提交按钮。

以前,我已经对按钮图像本身进行了操作,但是向上移动到了jquery语句以防止阻碍JS。现在单击按钮时,页面会自动提交,并且永远不会运行验证。

1 个答案:

答案 0 :(得分:2)

您仍然需要提交表单,是吗?

    submitHandler: function(form) {  
        $('body').append('<div id="cboxOverlay"></div>');
        $('#cboxOverlay').show();
        form.submit();  //*******************
    }