簡體   English   中英

當一個字段被填充時,其他字段必須被要求

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM