Heim  >  Artikel  >  Web-Frontend  >  HTML表单中如何输完一行按回车跳到下一行_html/css_WEB-ITnose

HTML表单中如何输完一行按回车跳到下一行_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 12:15:593192Durchsuche

我在网上搜到的办法是
这样在IE中的确可以,但是在谷歌和火狐浏览器中都不管用,输完一行后,点击回车后就直接提交了。怎么弄呢?感谢!


回复讨论(解决方案)

应该需要JS单独写吧

具体怎么弄呢

onkeydown事件和obj.focus();

亲自试验结果

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操作的方法。。你也看到了,兼容性不强。。)

用一个函数

function x() {
    var e = arguments[0] || window.event;
    if(e.keyCode==13)e.keyCode=9;
}

然后html这样写


<script> <br /> function handleEnter (field, event) { <br /> var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; <br /> if (keyCode == 13) { <br /> var i; <br /> for (i = 0; i < field.form.elements.length; i++) <br /> if (field == field.form.elements[i]) <br /> break; <br /> i = (i + 1) % field.form.elements.length; <br /> field.form.elements[i].focus(); <br /> return false; <br /> } <br /> else <br /> return true; <br /> } <br /> <br /> </script>








document.getElementById("inputId").onkeydown = function(e) {
    var e = e || window.e
    if(event.keyCode==13)event.keyCode=9 "
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn