2013-03-05 75 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; 
};