【发布时间】:2011-02-25 00:11:58
【问题描述】:
我有一个带有一个输入字段的简单表单。当我使用提交时它工作正常,但在文本字段中按 Enter 会重新加载带有 URL 中的表单变量的页面。
我浏览了许多在线可用的解决方案(JQuery 除外,因为对于这么简单的事情似乎有点过分了),但无法让“输入”工作。任何帮助都会很棒
<form name="myform" action="" method="GET" > Enter text: <br>
<input type="text" name="queryinput" onkeyup="if(isEnterPressed(event)){initialize(this.form.queryinput.value);}"><P>
<input type="button" name="Search" value="Search" onClick="initialize(this.form.queryinput.value);">
<input type="submit" value="Reset" onclick="reset();" />
</form>
function isEnterPressed(e){
var keycode=null;
if (e!=null){
if (window.event!=undefined)
if (window.event.keyCode) keycode = window.event.keyCode;
else if (window.event.charCode) keycode = window.event.charCode;
}else{
keycode = e.keyCode;
}
}
return (keycode == 13);}
编辑 1:使用 onsubmit 代替键码侦听器的版本:
<form name="myform" action="" onsubmit="return initialize(this.form.queryinput.value)" method="GET"> Enter text:<br>
<input type="text" name="queryinput">
<input type="submit" value="submit" >
<input type="button" value="Reset" onclick="clearAllPoints();"/>
</form>
使用 onSubmit 会导致点击按钮的行为与按 Enter 相同,但两个版本都不起作用。
【问题讨论】:
-
在表单中使用 enter 将提交表单,我错过了什么吗?
-
我想是一个错字,但你用
关闭第一个输入:P
-
我不明白你的关键代码:if 语句永远是真的!
-
@Nick 我想要表单调用函数
initialize而不是默认设置 -
@Bakaburg 我实际上关闭了它......
只是为了化妆品。 keyup 代码来自类似问题的解决方案之一 - 我不太确定它的工作原理。
标签: javascript forms