我的表单上有两个隐藏的输入字段,我已链接到jquery验证规则。这些是“全局”表单规则(例如,多个字段的总和不等于100%),因此我使用表单顶部的隐藏字段来显示适用于整个表单的消息。
它们的定义如下:
<input type="hidden" class="futuretotalsunder"/>
<input type="hidden" class="futuretotalsrequired"/>
以下是我的规则定义。你可以了解它。第一个规则检查是否有一堆文本框总计达到&lt; 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.");
答案 0 :(得分:4)
我明白了。问题(奇怪的是)我的输入元素没有名称属性。一旦我添加它们就可以了。