Javascript 无法动态更改minLength
我有一个下拉列表,其中有国家,在第二行的相同形式中,我有ZipCode texbox。我想动态地限制zipcode字段的最小长度。例如,如果选择美国,zipcode不应小于5,对于其他国家,则其他一些最小长度限制。我的表单使用欧芹验证器 我在下面写了一个关于我的国家的变化事件下拉列表Javascript 无法动态更改minLength,javascript,parsley.js,Javascript,Parsley.js,我有一个下拉列表,其中有国家,在第二行的相同形式中,我有ZipCode texbox。我想动态地限制zipcode字段的最小长度。例如,如果选择美国,zipcode不应小于5,对于其他国家,则其他一些最小长度限制。我的表单使用欧芹验证器 我在下面写了一个关于我的国家的变化事件下拉列表 function setZipLimit() { alert("in Zip limit" + document.getElementById("billingCountry").value); i
function setZipLimit() {
alert("in Zip limit" + document.getElementById("billingCountry").value);
if (document.getElementById("billingCountry").value == "US") {
alert("I am in US");
$('#billingForm').parsley('destroy');
$('#billingPostalCode').data('minlength', 3);
$('#billingForm').parsley();
} else {
$('#billingForm').parsley('destroy');
$('#billingPostalCode').data('minlength', 10);
$('#billingForm').parsley();
}
}
但这似乎没有帮助。你能帮我吗?你不能只编辑属性,因为parsley.js最初读取表单并获取其值。事后更改它们不会有任何效果 但是,您可以使用用于Javascript函数的Parsley.js API来编辑约束。你已经用它们来破坏和建造欧芹了。欧芹具有以下功能: $(#field').parsley('updateConstraint',{minlength:6}) 文档中还有一些带有addConstraint和removeConstraint的: 如果您的表单变得更复杂,并且有几个这样的动态案例,我建议您只销毁和重建表单的特定部分。原因是(根据我最近的一个问题):
如果销毁欧芹,更改一些字段,构建欧芹,然后再次销毁它,因为发生了另一个If语句,您以前的更改将被丢弃,因为build只读取Destroy和build之间的js,并读取表单 我不知道欧芹,但看看你如何在他们的文档中指定内容,我觉得你会使用
$('billingPostalCode').attr('parsley-minlength',3)代码>,而不是$('billingPostalCode')。数据('minlength',3)
。