我正在尝试让spry根据选择框中选择的内容来激活/停用验证。
添加地址是可选的,如果选择了地址,则会显示国家和地区字段,并且需要验证spry_country、spry_region。
价格是可选的,如果添加了价格,则会显示价格和价格税字段,并且spry_price & spry_price_tax将需要验证等等。
我有以下代码,这似乎工作得很好,但是,如果你选择地址,然后改变主意,然后决定不输入一个地址,代码将隐藏字段,但似乎仍然尝试和验证隐藏的字段,因为我无法提交表单。希望这是有意义的:)
/* If address selected */
$("#location_option").change(function() {
if ($("#location_option").val() == "address"){
$(".show_location").show();
/* activate spry */
var spryselect4 = new Spry.Widget.ValidationSelect("spry_country", {isRequired:true});
var spryselect5 = new Spry.Widget.ValidationSelect("spry_region", {isRequired:true});
}
else{
$(".show_location").hide();
var spryselect4 = new Spry.Widget.ValidationSelect("spry_country", {isRequired:false});
var spryselect5 = new Spry.Widget.ValidationSelect("spry_region", {isRequired:false});
}
});
$("#location_option").change();
/* If price selected */
$("#price_option").change(function() {
if ($("#price_option").val() == "price"){
$(".show_price").show();
/* activate spry */
var sprytextfield2 = new Spry.Widget.ValidationTextField("spry_price", "none", {isRequired:true});
var spryselect7 = new Spry.Widget.ValidationSelect("spry_price_tax", {isRequired:true});
}
else{
$(".show_price").hide();
var sprytextfield2 = new Spry.Widget.ValidationTextField("spry_price", "none", {isRequired:false});
var spryselect7 = new Spry.Widget.ValidationSelect("spry_price_tax", {isRequired:false});
}
});
$("#price_option").change();
/* If date selected */
$("#date_option").change(function() {
if ($("#date_option").val() == "date"){
$(".show_date").show();
/* activate spry */
var sprytextfield3 = new Spry.Widget.ValidationTextField("spry_start_date", "none", {isRequired:true});
var sprytextfield4 = new Spry.Widget.ValidationTextField("spry_finish_date", "none", {isRequired:true});
}
else{
$(".show_date").hide();
var sprytextfield3 = new Spry.Widget.ValidationTextField("spry_start_date", "none", {isRequired:false});
var sprytextfield4 = new Spry.Widget.ValidationTextField("spry_finish_date", "none", {isRequired:false});
}
});
$("#date_option").change();发布于 2012-11-02 17:33:44
我已经使用以下命令对其进行了排序:
spryselect4 = new Spry.Widget.Utils.destroyWidgets("spry_country");发布于 2012-11-02 17:31:20
而不是这样做:
var spryselect4 = new Spry.Widget.ValidationSelect("spry_country", {isRequired:false});放入:
spryselect4.reset(); // remove the error message
spryselect4.destroy(); // remove the validation https://stackoverflow.com/questions/13192046
复制相似问题