Проверка на поле ввода с помощью javascript

Я хочу проверить, является ли значение введенного поля допустимым или не используется onchange перед отправкой страницы. Я написал как ниже.Это подтверждает хорошо.Но как активировать кнопку «Далее», когда нет ошибки на входных записях.

<div><input type="text" name="your_name" id="your_name" onchange = "validate_Name(this,1,4)" />
   <span id="your_name-error" class="signup-error">*</span>
</div>
<div><input type="text" name="your_addr" id="your_addr" onchange = "validate_Name(this,1,4)" />
   <span id="your_addr-error" class="signup-error">*</span>
</div>
<input class="btnAction" type="button" name="next" id="next" value="Next" style="display:none;">

<script type="text/javascript" src="../inc/validate_js.js"></script>
<script>
    $(document).ready(function() {
        $("#next").click(function() {
            var output = validate(); //return true if no error
            if (output) {
                var current = $(".active"); //activating NEXT button

            } else {
                alert("Please correct the fields.");
            }
        });
    }

    function validate() {
        //What should write here?I want to analyse the validate_js.js value here.
    }
</script>

Внутри validate_js.js

function validate_Name(inputVal, minLeng, maxLeng) {

    if (inputVal.value.length > maxLeng) {
        inputVal.style.background = "red";
        inputVal.nextElementSibling.innerHTML = "<br>Max Characters:" + maxLeng;
    } else if (!(tBox.value.match(letters))) {
        inputVal.style.background = "red";
        inputVal.nextElementSibling.innerHTML = "<br>Use only a-zA-Z0-9_ ";
    } else {
        inputVal.style.background = "white";
        inputVal.nextElementSibling.innerHTML = "";
    }
}

2 ответа

  1. Если при «активации» вы хотите сделать его видимым, вы можете позвонить $('#next').show().

    Однако, если вы хотите имитировать клик на нем, с jQuery вы можете просто позвонить $('#next').click()или $('#next').trigger('click')как описано здесь . Кроме того, может потребоваться поместить все данные в форму и программно отправить форму, когда входные данные пройдут проверку.

  2. Можно вызвать changeсобытие для каждого поля, чтобы оно снова проверило каждое из них.

    например.

    function validate() {
        $("#your_name").trigger('change');
        $("#your_addr").trigger('change');
    }