2013-03-05 88 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()觸發?

的jsfiddlehttp://jsfiddle.net/d8BdM/

+1

當表單被提交的JavaScript永遠不會執行的onsubmit事件處理程序:http://www.quirksmode.org/js /forms.html#methods – Victor 2013-03-07 11:06:34

回答

2

變化形式是這樣的:

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

而保留其他代碼;我在你的小提琴中測試和工作。

Saludos;)

+0

我把一個ID,然後提交按鈕... saludos;) – Hackerman 2013-03-05 12:30:03

+0

是的是一個錯字。已經接受了答案,謝謝:) – 2013-03-05 12:31:22

2

改變這樣你的JavaScript代碼:

$('myform').onsubmit = function() { 
    alert('submitted!'); 
    return false; 
};