2011-10-10 50 views
0

像这样的东西只有当用户点击锚时才有效。但是当用户在表单里面按[Enter]键时,表单也会被提交。我怎么能用一个锚点来实现相同的功能?使锚点充当提交按钮。不只是使用点击事件

$('a.submit').click(function() { 
    $(this).closest('form').submit(); 
}); 

Thanks.-

EDIT(与解决方案):

这种组合工程(至少)在FF和铬!或者点击类别提交或按[回车]键。

$('#my_form a.submit').click(function(e) { 
    e.preventDefault(); 
    $(this).closest('form').submit(); 
}); 

$('#my_form').keydown(function(e) { 
    if (e.keyCode != 13) 
     return; 
    $(this).submit(); 
}); 

感谢您的意见!

+0

Coudl你明确你所追求的?您是否试图在使用回车键提交表单时运行代码?如果是这样,你可能想看看提交甚至处理程序。否则,我不知道你在做什么... – Chris

+0

@chris不,我想提交表单与此锚。 AFAIK需要提交或图像按钮来触发提交操作(单击或按[enter])。 –

+0

啊是的。按输入可能需要有一个按钮。我有一种感觉,它不需要按钮是可见的,尽管如此尝试添加一个虚拟的一个,并将其可见性设置为false或使用CSS显示为none,看看是否有帮助。有可能有更好的方法来做到这一点,虽然... – Chris

回答

1

几个测试之后,这是完美的工作:

$('#my_form a.submit').click(function(e) { 
    e.preventDefault(); 
    $(this).closest('form').submit(); 
}); 

$('#my_form').keydown(function(e) { 
    if (e.keyCode != 13) // Enter or Return keystroke 
     return; 
    $(this).submit(); 
}); 
1

需要防止click事件从发射锚:

$('a.submit').click(function(event) { 
    event.preventDefault(); 
    $(this).closest('form').submit(); 
}); 
+0

这将是伟大的,但热的工作在这里,FF或铬。 –