Javascript проверить X количество полей в форме HTML - PullRequest
2 голосов
/ 26 октября 2009

У меня есть форма, которая содержит около 10 текстовых записей (пользователь, адрес, адрес электронной почты и т. Д .;) и более 50 записей, которые являются количественными записями (пользователи выбирают 2x этого элемента, 5x этого элемента).

Теперь я унаследовал эту форму от кого-то другого (теперь я обязан обновлять ее, когда клиент запрашивает ее).

Я не хочу переписывать все это, но я хотел бы добавить проверку для количественных полей.

Теперь все количественные поля называются разными вещами (b1, c55, d, 12)

В основном я хотел бы написать сценарий (но не знаю, как искать или выполнить это) на стороне JS, который игнорировал бы известные мне теги (пользователь, адрес, адрес электронной почты и т. Д .;), но проверял бы, другие числа (либо пусто - не выбрано, либо 1-99)

1 Ответ

2 голосов
/ 26 октября 2009

Применить class к элементам (мой код использует класс check) примерно так:

<input type="text" name="b1" class="check" />

и следующий код jQuery, который будет проверять только те элементы с классом check.

$('#myformid').submit(function(){
    $(':input.check').each(function(){
        field = $(this);
        valInt = parseInt(field.val()); // value as an integer

        if (isNaN(valInt) || (valInt < 1 || valInt > 99)) // displays an error if the val is < 1 or > 99
             alert('Error in the field ' + field.attr('name') + ': must be number from 1-99'); // change this to whatever you want the form to do if there's an error
    });
});

В основном это происходит следующим образом: когда форма отправляется, она проходит через все поля, которые вы хотите (обозначенные :input.class, чтобы перехватить каждое поле с правильным классом), и проверяет, является ли она (a) число, и (b) меньше 1 или больше 99. Если это число и оно выходит за пределы диапазона, оно предупреждает пользователя об ошибке. Вы можете изменить уведомление alert() на любое управление ошибками, которое должно быть в вашей форме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...