JQuery表单验证无法在IE或FF中运行

时间:2013-11-11 13:47:54

标签: jquery jquery-validate

我的表单验证不起作用(在IE或FF中 - 所以我猜它已完全停止) 我正在使用JQuery 1.7.2

你能看出有什么问题吗??

代码

<script type="text/javascript" src="/js/jquery/jquery.js"></script>
<script type="text/javascript" src="/js/jquery/jquery.metadata.js"></script>
<script type="text/javascript" src="/js/jquery/jquery.validate.js"></script>
<script type="text/javascript" src="/js/validateutils.js"></script>


<form action="mailto:p.morrison@domain.com?subject=Changes to Employment"   id="employmentForm" method="post" enctype="text/plain" onsubmit="location.href='thank_you_changes_to_employment.html';">

我的必填输入字段有一类{validate:{required:true}}

<script type="text/javascript">
<!--
$(function ()
{
        $('#employmentForm').validate ();
});
-->
</script>

2 个答案:

答案 0 :(得分:0)

我做了两处小改动,你的代码工作正常。

1)引用OP:“我的必填输入字段有class {validate:{required:true}}。只需在必填输入元素的HTML标记中使用class="required"

2)删除内联onsubmit处理程序,因为它会干扰插件。相反,请使用插件的submitHandler回调函数。

表示此submitHandler只会
$(function () {

    $('#employmentForm').validate({
        submitHandler: function(form) {
           form.submit();  // <-- default form action
           location.href='thank_you_changes_to_employment.html';
        }
    });

});

DEMO:http://jsfiddle.net/8Y8Tt/

如果这不能解决问题,则需要显示更多代码,包括HTML标记。

答案 1 :(得分:-1)

尝试在页面完全加载后绑定/加载脚本。我认为即使元素(表格)还不存在,脚本也会被触发。

通常,它是TOP-BOTTOM过程,所以你可以这样做:

  

     $(document).ready( function() {
         $('#employmentForm').validate();
     } );
     

或者只是将您的脚本放在表单结束标记之后

  

     <form id="employmentForm">
     <!-- Your form elements -->
     </form>
     <script>
         $(function () {
             $('#employmentForm').validate ();
         });
     </script>