2013-03-05 5 views
3

Это должно быть тривиальным, но я не получаю это: \Отправить форму и наблюдать onsubmit событие

HTML

<form id="myform" action="#"> 
    <input type="submit" value="Submit" /> 
    <a href="#" onclick="$('myform').submit()">Submit</a> 
</form> 

JS (прототип)

$('myform').observe('submit', function(e) { 
    alert('submitted!'); 
    e.stop(); 
}); 

Почему подача только инициируется с помощью отправки через вход? Не следует ли запускать событие отправки с $('myform').submit()?

JSFiddle: http://jsfiddle.net/d8BdM/

+1

Когда форма представлена ​​JavaScript onsubmit обработчика события никогда не выполняется: http://www.quirksmode.org/js /forms.html#methods – Victor

ответ

2

Изменение формы, как это:

<form id="myform" action=""> 
<input type="submit" value="Submit" id="sub_but" /> 
<a href="#" onclick="$('sub_but').click();">Submit</a> 
</form> 

И держать другой код; я тестировал вашу скрипку и работал.

Saludos;)

+0

Я положил идентификатор на кнопку отправки ... saludos;) – Hackerman

+0

Yep была опечаткой. Уже принят ответ, спасибо :) –

2

Измените яваскрипт код, как это:

$('myform').onsubmit = function() { 
    alert('submitted!'); 
    return false; 
}; 
Смежные вопросы