選択ボックスで選択されたものに応じて、検証をアクティブ化/非アクティブ化するために 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();