首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

HTML表单中怎么输完一行按回车跳到上一行

2013-01-11 
HTML表单中如何输完一行按回车跳到下一行我在网上搜到的办法是input typetext namebbxr onkeydown

HTML表单中如何输完一行按回车跳到下一行
我在网上搜到的办法是<input type="text" name="bbxr" onkeydown="if(event.keyCode==13)event.keyCode=9 " />
这样在IE中的确可以,但是在谷歌和火狐浏览器中都不管用,输完一行后,点击回车后就直接提交了。怎么弄呢?感谢!
[解决办法]
亲自试验结果

onkeydown="if(event.keyCode==13){event.keyCode=9;  alert(event.keyCode);}" 

IE输出9
火狐输出13,根本没变。。

什么原理。。有待请教。。查了N多资料都没弄明白。

至于怎么实现你的问题:
楼上也说了,onkeydown事件和obj.focus();

1.在form的onkeydown事件里判断回车键时屏蔽onsubmit事件,
2.在input元素的onkeydown中光标指向下一个input元素(由于类似event.keyCode=9这种,用代码实现tab操作的方法。。你也看到了,兼容性不强。。)
[解决办法]
<script type="text/javascript">                
function handleEnter (field, event) {
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if (keyCode == 13) {
var i;
for (i = 0; i < field.form.elements.length; i++)
if (field == field.form.elements[i])
break;
i = (i + 1) % field.form.elements.length;
field.form.elements[i].focus();
return false;

else
return true;
}      

</script>
<form>
<input type="text" onkeypress="return handleEnter(this, event)">

<input type="text" onkeypress="return handleEnter(this, event)">

<textarea>回车换行</textarea>

热点排行