Узнайте, была ли инициирована проверка jQuery через element () или отправку формы - PullRequest
0 голосов
/ 06 мая 2020

В моей настраиваемой функции выделения для плагина проверки jQuery я хочу делать разные вещи, в зависимости от того, была ли проверка инициирована blur() недопустимого элемента (через $('form').validate().element($element)), или форма был отправлен. (Функция выделения вызывается, когда элемент недействителен. Если это происходит в форме submit, последняя прерывается.)

Насколько я понимаю, метод, который называется «onsubmit» внутри плагин просто вызывает метод element() для каждого элемента формы, никакие переменные, указывающие, откуда пришел вызов, не передаются, и я не нашел ни одной доступной переменной или метода валидатора, который я мог бы использовать из своего выделения функция, чтобы узнать, что инициировало проверку. Надеюсь, я просто что-то упустил, поэтому, если у кого-то есть подсказка ...:)

(В качестве альтернативы, может быть, есть какой-то внешний способ узнать, находится ли форма в процессе отправки? Я действительно не могу используйте размытие в качестве индикатора, так как оба могут происходить одновременно. Я мог бы, вероятно, установить какую-то переменную с помощью второго события onsubmit и отключить его через полсекунды или около того, но мне это кажется немного беспорядочным ...)

Edit: я собрал небольшой пример, чтобы проиллюстрировать свою проблему: https://jsfiddle.net/b7L6d9kn/ - Здесь попытка отправки и размытие поля ввода меняют цвет фона на красный. Как сделать так, чтобы он стал фиолетовым только после попытки отправки, но все еще подтверждался размытием?

1 Ответ

0 голосов
/ 06 мая 2020

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

Я выбрал PHP в качестве ответа, потому что это то, что я знаю лучше всего.

Вы можете проверить, использовался ли метод post на вашем сервере, вы даже можете передать имя формы, чтобы узнать, сделал ли запрос элемент specefi c.

if (isset($_POST['name_attribute_of_form']))
{ 
...do some logic
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...