form内任意一个输入框按enter会触发的submit的click事件

form内任意一个输入框按enter会触发的submit的click事件

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

</head>

<body>

<form action="javascript:;" method="post">

用户名:<input type="text" name="" id="" value="" />

密码:<input type="text" name="" id="" value="" />

确认密码:<input type="text" name="" id="" value="" />

<input type="submit" value="提交"/>

</form>

</body>

<script type="text/javascript">

document.querySelector('input[type=submit]').onclick=function(){

console.log(this);

console.log(event.target);

};

</script>

</html>

form内任意一个输入框按enter会触发的submit的click事件,这是浏览器自动处理的吗,怎么禁止啊

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,一般情况下没有按下enter键跳转到下一个输入框的情况。如果想要js实现也是可以的。例如:

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

    <title></title>

</head>

<body>

    <form method="post">

        用户名:<input type="text" name="" id="" value="" onkeydown="changeEnter()" /> 密码:

        <input type="text" name="" id="" value="" onkeydown="changeEnter()" /> 确认密码:

        <input type="text" name="" id="" value="" onkeydown="changeEnter()" />

        <!-- <input type="submit" value="提交" /> -->
        <!-- 按钮变为普通的 -->
        <input type="button" value="提交" />

    </form>

</body>

<script type="text/javascript">
    var i = 0;
    var input = document.getElementsByTagName('input')

    function changeEnter() {
        // 判断是否为回车
        if (event.keyCode == 13) {
            // 如果超出了最后一个元素,将i设置为0,从头开始
            if (i >= input.length - 2) { //去掉最后一个按钮input
                i = 0;
                input[i].focus();
            } else {
                // 设置下一个聚焦
                input[++i].focus();
            }

        }
    }
</script>

</html>

自己测试下,祝学习愉快!

好帮手慕星星 2020-04-27 10:29:22

同学你好,在输入框中按下回车触发的不是submit的点击事件,不是在js中定义的事件。类型为submit的按钮默认就会提交,即使没有下面的js也会提交。提交是浏览器自动处理的。

可以使用js阻止提交,如下:

获取所有的input框,判断按下的是不是回车键,然后阻止提交

http://img1.sycdn.imooc.com//climg/5ea64337092ef86905510215.jpg

祝学习愉快!

  • 提问者 王文辉 #1
    有的网站在一个input框中输入完成之后按下tab键会转入下一个输入框,如果想按下enter转入下一个输入框该怎么写啊,不知道怎么用js控制光标(焦点)
    2020-04-27 10:34:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师