在我的表单中,我有一个类似的按钮
<button id="mybutton" type="submit"></button>
我正在使用查询提交来提交表单
$('#mybutton').click(function()
{
$('form#myform').submit();
}
它对大多数人都有效,而且当我点击回车时,它仍然完全通过点击来提交表单。我将按钮类型更改为按钮
<button id="mybutton" type="button"></button>
但当我按下回车键时,它什么也没做。
我听说我可以使用bind或on,但不确定在这种情况下这对我有什么帮助。任何帮助都将不胜感激编辑
如果我将按钮类型从submit TO按钮更改为submit TO,那么当我按下回车键时,它不会执行任何操作。那么我必须手动点击按钮。如果我让类型提交,它会在输入时通过jquery net提交我的表单。
它不会做任何事情,因为它是button type
。
但您可以尝试这样做来"模拟"它,并在按enter键时提交。
$(document).keypress(function(e) {
if(e.which == 13) {
$('form#myform').submit();
}
});
只是为了增加一些东西,有些人声称你会写2倍这样的代码:
$(document).ready(function(){
$(this).keypress(function(e) {
if(e.which == 13) {
$('form#myform').submit();
}
});
$('#mybutton').click(function() {
$('form#myform').submit();
});
});
不多,但我会尝试做一个简短的方法:-)
如果希望在表单提交时通过提交按钮或在最后一次输入时按enter键触发提交事件,则应绑定到表单的提交事件。
形式:
<form id="myform">
... input fields here ...
<button type="submit">Submit</button>
</form>
js:
$("#myform").submit(function(){
alert("the form submit event happened!");
// here you can either prevent the form
// from submitting and do an ajax request,
// or do nothing and let it submit naturally.
});
是否将其作为输入标记而非按钮?值得一试
你是不是想这样做,如果他们点击回车键,它就什么都没做?只有当他们真的点击了它?
要停止默认点击:
.click(function(e){
e.preventDefault();
});
要停止表单在click()
事件内提交,请在回调结束时使用return false;
。
我不认为问题是live vs bind。这可能更多的是因为您只为单击事件创建了一个处理程序。