Javascript jQuery验证没有发生
我的页面上有以下脚本:Javascript jQuery验证没有发生,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我的页面上有以下脚本: <script type='text/javascript'> $(document).ready(function() { $('#TotalHours').attr('name', 'TotalHours'); // jQuery validation requires field names to be set $.validator.addMethod("hours", function(value, ele
<script type='text/javascript'>
$(document).ready(function() {
$('#TotalHours').attr('name', 'TotalHours'); // jQuery validation requires field names to be set
$.validator.addMethod("hours", function(value, element) {
var totalHours = 0;
$('select').each(function(i, sel) {
var hours = $(sel).find(":selected").text();
if (hours != "")
totalHours += parseFloat(hours);
});
var reportedTotalHours = parseFloat($("#TotalHours").text());
var difference = abs(totalHours - reportedTotalHours);
return difference >= 0.25; // discrepancy must be less than a quarter hour
});
$('form').bind('submit', function() {
$("#TheForm").validate({
rules: {
TotalHours: {
hours: true
}
}
});
});
});
</script>
以及提交按钮本身:
<input type='button' id="__E374" class="button" value="Save" onclick="__E374_onclick();"/>
无法在提交处理程序中包装.validate。插件已经自动捕获提交事件,因此这是毫无意义的;它会阻止插件在表单上初始化自己,直到第一次提交事件。顺便说一句,jQuery.bind已被弃用
.validate方法用于初始化表单上的插件,并在创建表单后调用,通常在就绪事件处理程序中调用
<input type='button' ....
该插件忽略了一个按钮和一个type=按钮的点击。您需要将其更改为type=submit
有关典型用法和示例,请参阅。标记中的ID是否已更改?不,你只对形式有约束力,所以不是那样。我假设jQuery已加载?提交时控制台中有什么?提交时控制台中有什么?不知道你说的是什么意思。。。有一段时间,那么您使用的是什么版本的jQuery?您不应该将.validate方法放在提交处理程序中——只需参考6000个使用jQuery validate标记的工作示例中的一个。其次,相关的和呈现的HTML在哪里,我们可以自己尝试一下?我使用的是jQueryV1.11.2,看起来像。我抓取HTML源代码时遇到问题,因为它是动态生成的,因此不会出现在浏览器的“视图源”中。浏览器DOM是动态更新的,因此您可以在开发人员的工具中查看呈现的HTML,而不是页面源。也许谷歌如何使用开发人员的控制台进行故障排除和检查。更改为type=submit似乎已经解决了这个问题,谢谢!
$('form').bind('submit', function() {
$("#TheForm").validate({
....
<input type='button' ....