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