Javascript onblur() не будет работать при прямом нажатии на кнопку

У меня есть текстовое поле javascript, в нем есть onblur(), и оно вызовет функцию проверки, поэтому предположим, что когда я выхожу из текстового поля, оно запускает onblur() и проверяет данные, которые вводят пользователи, затем я нажимаю кнопку «отправить», он будет обрабатывать данные.

Существует ошибка, из-за которой, когда я набираю что-то в текстовом поле, я сразу же нажимаю кнопку отправки (сначала не фокусируясь на текстовом поле), поэтому на самом деле это НЕ вызовет onblur() и НЕ будет проверять данные в текстовом поле, даже если данные неверны, он обработает данные, потому что вызов onblur() не удался.

В этом случае, как решить эту ошибку, ЕСЛИ я не хочу никакой проверки на кнопке (событие onclick). Пробовал onchange(), тоже не удалось.


person hades    schedule 24.02.2014    source источник


Ответы (2)


Функция onblur() будет вызываться, если вы обращаетесь только к определенному текстовому полю. В противном случае он не будет звонить до того, как вы отправите его.

Поэтому я предлагаю вам написать метод проверки и также вызвать его onsumbit().

person Banukobhan Nagendram    schedule 24.02.2014
comment
привет, извините, я новичок в javascript, я совершенно не понимаю вашего объяснения, функция onblur() вызовет, если вы получите доступ только к определенному текстовому полю. В противном случае он не будет звонить до того, как вы отправите его. Что вы подразумеваете под доступом только к определенному текстовому полю? Насколько я понимаю, onclick срабатывает при нажатии кнопки, а onsumbit срабатывает при отправке формы. - person hades; 24.02.2014
comment
onblur — это событие, которое вызывается, когда вы выходите из текстового поля. Я имею в виду сфокусировать текстовое поле. Если вы не пытались редактировать текстовое поле, вы не в фокусе. Таким образом, событие onblur не сработает. Так что ваша функция не будет вызывать. Если вы добавите свой код, это поможет объяснить. - person Banukobhan Nagendram; 24.02.2014
comment
w3schools.com/jsref/event_onblur.asp Если вы не понимаете по этой ссылке . google, вы можете найти больше хороших объяснений. Это поможет вам понять. - person Banukobhan Nagendram; 24.02.2014

Поскольку вы не добавили код, я только даю предложение. (пожалуйста, добавьте образец скрипки для дальнейшего изучения)

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

$("button").focus(function() { // validation  
} );

$( "textarea" ).focusout(function() { // validation   
});

Хотя лучше всего подходит в форме onsubmit.

person Neha    schedule 24.02.2014