form表单里如果只存在一个文本框,enter键提交
Posted vivayue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了form表单里如果只存在一个文本框,enter键提交相关的知识,希望对你有一定的参考价值。
在这里说一说浏览器里form表单的默认行为
我们都知道浏览器是存在很多默认行为的,可能是出于常用行为考虑又或者是历史原因。但有时候我们不需要这些默认行为。以下:
1)、当form表单里只存在一个input输入框时,回车会提交表单操作。
解决方法可以在form里面再加入一个隐藏的input输入框,或者把input从form里面放出来。
2)、当form表单里有一个type=”submit”的按钮,回车会自动提交。
3)、当form表单里的button按钮没有加type类型时,在ie下默认是button类型,标准浏览器下是submi类型
最好加上type=button,以保持各浏览器保持一致
4)、 其他表单元素如textarea、select不影响,radio checkbox不影响触发规则,但本身在Firefox下会响应回车键,在IE下不响应。
5)、type=”image”的input,效果等同于type=”submit”,不知道为什么会设计这样一种type,不推荐使用,应该用CSS添加背景图合适些。
<script type="text/javascript">
document.onkeydown=keyDownSearch;
function keyDownSearch(e) {
// 兼容FF和IE和Opera
var theEvent = e || window.event;
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
if (code == 13) {
DoSomeThing();//具体处理函数
return false;
}
return true;
}
</script>
如果只是针对某个DIV层应用回车查询的话,可以将:
document.onkeydown=keyDownSearch;
改成:
document.getElementById(‘层ID‘).onkeydown=keyDownSearch;
以上是关于form表单里如果只存在一个文本框,enter键提交的主要内容,如果未能解决你的问题,请参考以下文章
MS Access Form - Enter 键未移动到新行