2

我的表单上有两个隐藏的输入字段,已链接到 jquery 验证规则。这些是某种“全局”表单规则(例如,多个字段的总数不等于 100%),因此我在表单顶部使用隐藏字段来显示适用于整个表单的消息。

它们的定义如下:

<input type="hidden" class="futuretotalsunder"/>
<input type="hidden" class="futuretotalsrequired"/>

这是我的规则定义。你可以得到它的想法。第一条规则检查一堆文本框的总数是否小于 100,第二条规则检查以确保总数不为 0。问题是,唯一触发的是适用于第一个隐藏的文本框输入元素。第二个永远不会开火。知道为什么吗?

$.validator.addMethod("futuretotalsunder", function (val, element, params) {
        alert("under");
        var total = 0;

        $(".TransferPercentTextBox").each(function () {
            total = total + parseInt($(this).val());
        });

        if ((total < 100) && (total != 0)) {
            window.location.href = "#Top";
            return false;
        }
        else {
            return true;
        }
    }, "Total percentage must equal 100%.");

     $.validator.addMethod("futuretotalsrequired", function (val, element, params) {

        var total = 0;

        $(".TransferPercentTextBox").each(function () {
            total = total + parseInt($(this).val());
        });

        if (total == 0) {
            window.location.href = "#Top";
            return false;
        }
        else {
            return true;
        }
    }, "Transfer amount must be greater than 0.");
4

1 回答 1

4

我想到了。问题(奇怪)是我的输入元素没有名称属性。一旦我添加它们,它就可以正常工作。

于 2012-05-02T02:47:38.253 回答