2013-11-27 5 views
1

Человек, вводящий данные, помещает адрес электронной почты в форму, и было бы полезно, если бы форма была отправлена ​​каждый раз, когда он вставлялся в адрес, чтобы он был готов к следующей пасте. Другой код в setTimeout также отлично работает - просто не подача формы. Заранее спасибо за вашу помощь.jQuery: Отправить форму на вставке

$("#email").on("paste", function(){ 
    setTimeout(function() { 
     $("#cancelemail").submit(); 
    }, 0); 
}); 


<form action="done.php" method="post" id="cancelemail"> 

Address to be removed: <input id="email" name="email" type="text" /> 

<input type="submit" name="submit" value="Remove"> 

</form> 
+0

@JPod JQuery имеет 'вставить' событие –

+1

Вместо того чтобы использовать 'Paste -> браузер отправить -> перезарядка page' логику, вы найдете его более дружелюбно использовать эту логику? 'paste -> AJAX submit -> clear input -> сохранить фокус на входе -> отобразить небольшое сообщение об ошибке/ошибке ниже поля ввода – MonkeyZeus

+0

Возможно ли, что установленный тайм-аут 0 слишком быстр? Что произойдет, если вы установите установленный тайм-аут на одну секунду? – jonnybot

ответ

2

Это странно, запуская представить не кажется, не работает для меня, если я не удалить кнопку отправки из HTML, но вызвав кнопку отправки на самом деле?

$("#email").on("paste", function() { 
    setTimeout(function() { 
     $('[name=submit]').trigger('click') 
    }); 
}); 

Fiddle with button, triggering submit -> not working ?
Fiddle without button, triggering submit -> works
Fiddle with button, triggering button click -> works

+0

http://stackoverflow.com/a/12541054/1414562 чтобы объяснить это –

+0

@ A.Wolff - Спасибо за ссылку, теперь, когда я прочитал это, я понимаю, что я уже знал это, но просто не мог жизнь меня выясняет, почему она не подчинилась, и теперь это кажется настолько очевидным. Это одна из тех ошибок, которые я никогда не делаю сам, и вы не видите ее очень часто, но называть элемент «отправить» действительно перепишет встроенную функцию отправки, прикрепленную к форме. – adeneo

+0

@ A.Wolff: Ваш комментарий был в точности с моим исходным кодом. Спасибо, что привели нас туда adeneo. –