У меня есть форма, которая использует плагин проверки jQuery для проверки своих полей. В одном из этих полей проверка выполняется с помощью ajax. Проблема в том, что каждый штрих клавиши запускает это правило проверки и, следовательно, делает вызовы ajax, чего я не хочу. Теперь я могу отключить onkeyup для этого поля, но я бы предпочел иметь задержку в 5 секунд после того, как пользователь наберет, а затем вызвать мое пользовательское правило, которое содержит метод ajax.Как задержать событие onkeyup в плагине проверки jQuery
Я искал какое-то время, натолкнулся на это How to delay the .keyup() handler until the user stops typing?, но не знаю, как его использовать с плагином проверки. Может кто-нибудь помочь мне понять это?
jQuery.validator.addMethod("ruleName", function(value, element) {
// AJAX call here to validate value
});
jQuery('form').validate({
onkeyup: function(element) {
// Do I do something here ?
},
rules: {
name: {
required: true,
ruleName: true
}
}
});
'.ajax()' проверка может работать лучше, используя [встроенное '' 'правильное' '] (http://jqueryvalidation.org/remote-method/). И, как правило, вы условно отключите опцию 'onkeyup' в зависимости от поля, а не используете задержку. Однако, «да», вы бы поставили что-то там ... что вы пробовали? – Sparky
Встроенное правило 'remote' не имеет никакого отношения к самому элементу ввода. Поэтому, если вам лучше использовать структуру 'addMethod'. –