<form>
<input type="text" name="sometext">
<input type="button" value="Send" onClick="sendsometext(this.form);">
</form>
如果不使用提交按钮(我根本不需要它),只需按Enter键提交表单即可。
编辑:我根本不想提交表格。我只想在输入字段中键入一些文本并通过Enter键调用该函数。我可以不用JS吗?
答案 0 :(得分:4)
<form>
<input type="text" name="sometext">
<input type="button" value="Send" onClick="this.form.submit">
</form>
或者,来自sentometext函数:
function sendsometext(form){
form.submit();
}
要在表单提交时运行该功能(当用户按Enter键时),请尝试以下操作:
<form onsubmit="sendsometext(this)">
<input type="text" name="sometext">
</form>
如果您从sendingometext返回false,则表单将不会提交。
显然你不想提交表单,你想要做的就是让函数处理数据,然后用它做一些事情。如果您的sentometext函数返回false,则表单不应提交:
function sendsometext(form){
//do something with the form;
return false;
}
然后是html代码:
<form onsubmit="return sendsometext(this)">
<input type="text" name="sometext">
</form>
如果这不起作用,请指定您正在使用的浏览器,以及会发生什么。同时发布一个演示页面,介绍如何实现它。您无法在不使用JavaScript的情况下将表单添加到JavaScript(这没有意义)。
答案 1 :(得分:1)
实际上,我认为您正在寻找form.onsubmit
<form onSubmit="sendsometext(this.form);">
<input type="text" name="sometext">
<input type="submit" value="Send">
</form>
答案 2 :(得分:1)
这就是如何创建一个Javascript函数,该函数作用于按下提交表单的回车键,而不是按下提交按钮。
编辑:在下面的代码中,您可以看到document.forms [0] .submit()//提交表单...您可以将此行更改为指向您的函数。这将停止提交过程,而是在您按Enter键时调用您的函数。
来自 http://jennifermadden.com/javascript/stringEnterKeyDetector.html
<input type="text" onKeyPress="checkEnter(event)">
function checkEnter(e){ //e is event object passed from function invocation
var characterCode;
if(e && e.which){ //if which property of event object is supported (NN4)
e = e
characterCode = e.which //character code is contained in NN4's which property
}
else{
e = event
characterCode = e.keyCode //character code is contained in IE's keyCode property
}
if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
document.forms[0].submit() //submit the form
return false
}
else{
return true
}
}
答案 3 :(得分:1)
我想知道当你在表单内的任何文本字段中按Enter
时,OP是否缺少浏览器自动提交表单的基本信息。这就是为什么你可以使用onsubmit处理程序,如果你想调用一个方法来响应Enter
键,按照Marius和Wogan的答案。