Как я могу исправить мои JS и jQuery для правильной проверки ввода?

#javascript #jquery #html #validation #input

#javascript #jquery ( jquery ) #HTML #валидация #ввод #jquery #проверка

Вопрос:

Я совершенно новичок в JS и jQuery. Я написал базовую HTML-форму для вычисления значений и хочу проверить каждый ввод и проверить, содержит ли он ненулевое значение, но я не могу понять это. Я потратил много времени на поиски, прежде чем опубликовать это. Помните, что я совершенно новичок, так что полегче со мной, пожалуйста. Вот мой сценарий для проверки входных данных.

 $('#ppm_Pt').on('change', function () {
    var input = $(this);
    var is_num = input.val();
    if (is_num) 
    { 
        $('#Calculate').prop("disabled", false) 
    }
    else
    { 
        $('#Calculate').prop("disabled", true) 
    }
});
  

Я могу заставить это работать, чтобы проверить, есть ли какие-либо входные данные для ppm_Pt, но вместо этого я хочу проверить все входные данные типа number в моей HTML-форме, и вместо того, чтобы просто проверять любое значение, я хочу проверить значения null и 0. Я знаю, что есть способ. Я пытался использовать метод each(), но безуспешно. Пожалуйста, помогите. Спасибо.

Комментарии:

1. Итак, эти поля, их может быть любое количество? Вы просто хотите проверить что-нибудь, кроме числа?

2. Пожалуйста, предоставьте некоторый HTML

3. Да, у меня есть несколько полей ввода типа number, и я хотел бы отключить кнопку calculate, когда пользователь вводит не-число, 0 или оставляет его пустым. Другими словами, когда все числовые поля будут правильно заполнены, включите мою кнопку вычисления

4. @AdrianForsius ‘code’ ‘<div> <label for=»ppm_Pt»> Ppm (Pt) </label> <тип ввода =»число» id =»ppm_Pt» name=»ppm_Pt» value=»» /> </ div> <div>Вычислить » onclick=»calc()» отключено> Рассчитать цену </button> </ div> ‘

5. Есть много других полей ввода, похожих на мой ppm_Pt. Я хотел бы иметь возможность использовать jQuery для выбора всех элементов типа number и последующей проверки. Я понимаю, что в своем первоначальном вопросе я проверял только один ввод ‘ppm_Pt’

Ответ №1:

Вы выполняете выбор идентификатора для элемента, если это ваша форма, вы, вероятно, сделали бы что-то вроде:

 $('#ppm_Pt').on('change', 'input', function () {
    var input = $(this);
    var is_num = input.val();
    if (is_num !== '') 
    { 
        $('#Calculate').prop("disabled", true); 
    }
    else
    { 
        $('#Calculate').prop("disabled", false); 
    }
});
  

Комментарии:

1. if (is_num !== «) == if (is_num)

2. Когда я пытаюсь это сделать, моя кнопка остается отключенной, независимо от того, что я ввожу в поле. Будет ли иметь значение, если моя кнопка уже отключена в моей HTML-форме?

3. Этот код проверит все мои входные данные, и если какие-либо из них будут изменены, моя кнопка будет включена. Я хотел бы изменить его, чтобы он оставался отключенным до тех пор, пока не будут введены все числовые поля. code: $('input[type="number"]').on('change', function () { var input = $(this); var is_num = input.val(); if (is_num) { $('#Calculate').prop("disabled", false); } else { $('#Calculate').prop("disabled", true); } });