回车键的处理问题

  在Intranet实际应用中,如果涉及到用户间的交互,必然需要用到form 。而form 包含的域之间的焦点跳动,是通过tab 键来实现。而中国用户通常还习惯于用回车键。在浏览器中,如果使用回车,则执行了form submit事件,往往会造成误操作,因此在form的操作上,我们需要对回车进行处理。利用IE4能对键盘进行响应的特点,我们可以通过编制一个函数,响应按键事件,实现焦点的跳转。实例如下: 

  这里要注意的一点是,必须将提交按钮的属性设为“button”,而不是“submit”。

<html>

<script>

function keyEnter(iKeyCode) {

var srcElement=window.event.srcElement;

if(srcElement.name=="save" || iKeyCode==-1) {

document.forms[0].submit();

return true;

}

if(iKeyCode!=13) return false;

if (srcElement.tagName=="INPUT"||srcElement.tagName==”SELECT”) {

var i = 0

while (srcElement!=srcElement.form.elements[i])

i++

srcElement.form.elements[i+1].focus();

}

return false;

}

</script>

<body>

<form method=”post” onkeypress=”keyEnter(event.keyCode)”>

<input type=”text” name=”text1”>

<input type=”text” name=”text2”>

<input type=”button” name=”save” value=”提交” onclick="keyEnter(-1)”>

</form>

</body>

</html>

返回