Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery验证没有发生_Javascript_Jquery_Jquery Validate - Fatal编程技术网

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' ....