Я пытаюсь предотвратить событие отправки на странице с помощью этого кода, чтобы, если я нажму кнопку ввода, он нажмет на элемент validate
.Нажмите событие внутри отправить событие не работает в chrome 47
$(document).ready(function(){
$("form").submit(function(event){
event.preventDefault();
document.getElementById("validate").click();//alert("Something") works fine here
});
});
Но, когда я нажал войти сохраняя фокус на любом текстовом поле он отправляет форма с действием присвоенного form.It не препятствует Submit
события, как ожидается, в Google Chrome 47. Если я размещу любой alert
, а не document.getElementById("validate").click();
, тогда он отлично работает. Вот HTML-код для этой страницы
<td align="center" width="100%">
<input type="button" value=" Next " id="validate" tabindex="4">
<a id="Proceed" href="#" onclick="mojarra.jsfcljs(document.getElementById('form'),{'Form:Proceed':'Form:Proceed'},'');return false"></a>
<input id="replan" type="submit" name="replan" value="Replan" tabindex="4">
</td>
Так, может кто-нибудь, пожалуйста, объясните, почему это не работает в новой версии хрома (Это работает отлично в хроме 39)
Примечания: Событие для id validate
назначается с использованием addEventListener()
.
, если это из-за 'keydown' события, то почему она работает, если я заменить эту строку с любыми другими кодами' т.е. предупреждения() '. Он не отправляет форму, хотя я нажал 'Enter' – Swagatika
. Наверное, я все еще немного смущен тем, что вы пытаетесь выполнить. Вы просто пытаетесь проверить перед подачей? Если это так, в вашей функции выполните проверку. Если valid возвращает true. Если недействительно, выполните e.preventDefault и верните false. – Bindrid