0

我的表单验证不起作用(在 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>
4

2 回答 2

0

我做了两个小改动,您的代码运行良好。

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

2)删除内联onsubmit处理程序,因为它会干扰插件。相反,使用submitHandler插件的回调函数。这submitHandler只会在表单有效触发。

$(function () {

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

});

演示:http: //jsfiddle.net/8Y8Tt/

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

于 2013-11-11T20:09:51.383 回答
-1

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

通常,它是 TOP-BOTTOM 过程,因此您可以这样做:

     $(文档).ready(函数(){
         $('#employmentForm').validate();
     });
     

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

     <form id="employmentForm">
     <!-- 你的表单元素 -->
     </form>
     <脚本>
         $(函数(){
             $('#employmentForm').validate ();
         });
     </脚本>
     

于 2013-11-11T15:30:36.440 回答