我有一个jQuery表单,它具有验证排序的功能。它是一个数据输入屏幕,上面有两个文本框。每个文本框的朗读值为1到无穷大,但第一个控件的“期望”范围为36-84,第二个控件的范围为50-300。如果该值在期望范围内,则提交将通过。如果范围超出所需范围,但在大声范围内,对于任一范围说25,那么在用户按下提交之后需要提示用户。如果他们对提示表示肯定,则提交通过,如果他们说不,则不会。jQuery验证插件:提示覆盖
感谢Cooper Maruyama的帮助,我已经到了试图在ASP.Net世界中实际实现答案的地步。问题在于文本框ID在运行时被确定,并被传递给ID对象中的初始化函数。
当我运行它,我得到以下错误:无法获得属性的值“设置”:对象为空或未定义
这里是我的代码:
var manageResidentWeightsJs = {
initialize: function (ids) {
var cbDeclined = $(ids.cbDeclined);
var cbIsOutOfFac = $(ids.cbIsOutOfFac);
$('<div id=errorSummary>The following values fall out side of the normal range:</div>')
.append('<ul id="errorsList"></ul>').hide().insertAfter(ids.formView);
var txtHeight = $(ids.txtHeight);
var txtWeight = $(ids.txtWeight);
function confirmation() {
var x;
var r = confirm("Are you sure?");
if (r == true) { return true; }
else { return false; }
}
$(ids.formView).validate({
invalidHandler: function (form, validator) {
if (confirmation()) { form.submit(); }
}
});
txtHeight.each(function (index, elem) { $(elem).rules("add", { min: 0 }) });
txtWeight.each(function (index, elem) { $(elem).rules("add", { min: 0 }) });
}
}
的跟着代码被用来调用上面的代码。在此代码ASP.Net已经被替换为“#”作为从问题消除ASP.Net因素:)
$(document).ready(function() {
var ids = {
formView: '#mainForm',
txtHeight: '#heightCtrl',
txtWeight: '#weightCtrl'
};
manageResidentWeightsJs.initialize(ids);
});
我很抱歉,但它并没有回答这个问题:(我会在我的例子来阐明上述 –
主要的问题我有。你的例子是它没有使用jQuery验证框架,我只是有一个想法:我可以连接到sumbit的onclick,独立于在验证后会被调用的验证,说验证可以提交?这样,只有在系统确定该值为al后,才会检查所需的值乌德琴。 –
已更新,请参阅新的答案 –