2013-07-15 3 views
0

У меня есть поля, на которых установлены события разблокировки и размытия. Все отлично работает с parsley js для проверки до тех пор, пока пользователь не зайдет в поле с клавиатурой на нем. Затем он сразу же запускает ошибку, когда пользователь вводит вкладку в поле. Поэтому, прежде чем пользователь даже войдет во что-нибудь, они получат сообщение об ошибке. Есть ли способ остановить это, очевидно, без удаления события keyup.остановка петрушки js стрельба при нажатии табуляции

<input type="text" value="" placeholder="XXXX-XXXX-XXXX-XXXX" class="card" id="card" name="number" pattern="[0-9]*" data-trigger="blur keyup" data-required="true" data-validation-minlength="0" > 
  • Прямо сейчас вы щелкните в поле ввода, затем нажмите снова ошибка срабатывает с событием размытия.
  • Нажмите, чтобы начать ввод, если пользователь вводит неправильные значения. будет активировано значение keyup.

Все вышеперечисленное отлично работает.

  • Нажмите в поле ввода до карты, поданном затем вкладки для ввода карты подала , который является следующим индексом затем KeyUp увольняет сразу.

Вышеупомянутый сценарий - это тот, который я хочу прекратить, пока пользовательские клавиши не будут введены во входное поле.

ответ

0

Хорошо, для всех, кто сталкивается с этой проблемой, это один из способов разобраться. Установите событие focusin на вход карты. Убедитесь, что вы не используете это в атрибуте event-trigger parsley. Затем удалите проверку петрушки для этого события в событии focusin. Затем установите тайм-аут, чтобы вы могли заменить его обратно после того, как петрушка перешла на начальную требуемую проверку.

Вид хаки Я знаю, и я не люблю использовать таймеры, но в этом случае он работает. Я пробовал 100, и это работало для всех браузеров, кроме IE, поэтому мне пришлось увеличить до 200 для компенсации IE.

$('.card').focusin(function(){ 

    $('form').parsley('removeItem', '#card'); 
    setTimeout(function(){ 
     getCurrentForm().parsley('addItem', '#card'); 
    },200); 
}); 

Надеюсь, что это помогает кому-то в вопросах, которые я когда-либо задавал о Петрушке. Я никогда не получаю ответа. Кажется, что петрушка - не распространенные вопросы. Для тех, кто не использовал Parsley js, это и потрясающая библиотека проверки, которую вы должны проверить.

Смежные вопросы