![](/img/trans.png)
[英]How to make sure that if value is entered in one field other (accompanying) field/dropdown list must be filled/selected
[英]when one field is filled other fields must be required
我創建了一個表單。在其中添加了驗證。如果表單中的一個字段被填充,則所有其他字段都必須被填充,或者如果所有字段都不被填充,則無需檢查驗證。 我使用方法焦點來添加驗證。選擇一個字段后,所有字段都需要執行驗證。
IAM使用jQuery驗證
<script>
$(document).ready(function () {
$("#myFormId").validate(
{
}
);
$('.contact1').focus(function () {
$('.contact1').addClass("required");
});
$('.contact2').focus(function () {
$('.contact2').addClass("required");
});
});
</script>
當我單擊所需的字段時,將添加到field.how如果表單中未填寫任何字段,則需要刪除
$('#myFormId').on('change', function() { // change or input event var $inputs = $(this).find(':input:not(:submit)'); var anyInputChanged = !!$inputs.filter(function() { return this.value !== this.defaultValue; }).length; $inputs.toggleClass('required', anyInputChanged); });
.required { outline: 1px solid red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <form id="myFormId"> <input> <input> <input type="submit"> </form>
如果表單中的任何輸入不再具有其默認值,則可以切換所需的類:
$('#myFormId').on('change', function() { // change or input event
var $inputs = $(this).find(':input:not(:submit)');
var anyInputChanged = !!$inputs.filter(function() {
return this.value !== this.defaultValue;
}).length;
$inputs.toggleClass('required', anyInputChanged);
});
您的代碼與您要執行的操作不太匹配,看起來可能更像這樣:
<script>
$(document).ready(function () {
$("#myFormId").validate(
{
...
}
);
$('#myFormId input').on('focus keyup', function() {
if($(this).val().length > 0){
$('#myFormId input').attr("required",true);
}
else{
$('#myFormId input').attr("required",false);
}
});
});
</script>
另外,更改屬性時,您可能需要在表單上重新調用validate函數(但不要在其上引用我)。
這應該更接近您想要的東西,但是可以玩一玩!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.