JavaScript-JS如何实现兼容ie和火狐form回车后自动提交?

JavaScript-JS如何实现兼容ie和火狐form回车后自动提交?

虐人心 发布于 2017-10-19 字数 65 浏览 1021 回复 5

如题,当按回车键时,自动触发表单提交事件,同时对IE和FF兼容

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

瑾兮 2017-11-07 5 楼

不用写js,只要form中的元素获得焦点按回车都会提交

瑾兮 2017-11-05 4 楼

这个问题主要是ie和火狐获取keyCode有所不同。火狐 event.which,ie 的 event.keyCode,在表单中最后一个文本框中输入回车后提交,例子:

$("#last_input").focus(function() {
    $(this).keypress(function(e) {
        if (e.which == 13 || e.which == 10) { //ie下 ctrl+ 回车 ==  10
            $("#form").find("#submit").click(); //相当于点击提交按钮
            //也可以这么做
            //$("#form").submit();
        }
    });
});

好像不用写 js,只要 form 中的元素获得焦点按回车都会提交吧。

甜柠檬 2017-11-05 3 楼

JS实现:

 <script>
document.onkeydown=function(event)
{
e = event ? event :(window.event ? window.event : null);
if(e.keyCode==13){
//执行的方法
alert('回车检测到了');
}
}
</script>

jquery实现:

 $(document).ready(function(){
    $("按下回车的控件").keydown(function(e){
        var curKey = e.which;
        if(curKey == 13){
            $("#回车事件按钮控件").click();
            return false;
        }
    });
});

归属感 2017-11-02 2 楼

下面是我实现的代码:
<script type="text/javascript">
if(document.addEventListener){
document.addEventListener("keypress",fireFoxHandler, true);
}else{
document.attachEvent("onkeypress",ieHandler);
}

function fireFoxHandler(evt){
if(evt.keyCode==13){
document.regform.submit();
}

}
function ieHandler(evt){

if(evt.keyCode==13){
document.regform.submit();
}
}
</script>

虐人心 2017-10-20 1 楼

HTML FORM 表单 <input> 标签的 type 属性

值 描述
button 定义可点击按钮(多数情况下,用于通过 JavaScript 启动脚本)。
checkbox 定义复选框。
file 定义输入字段和 "浏览"按钮,供文件上传。
hidden 定义隐藏的输入字段。
image 定义图像形式的提交按钮。
password 定义密码字段。该字段中的字符被掩码。
radio 定义单选按钮。
reset 定义重置按钮。重置按钮会清除表单中的所有数据。
submit 定义提交按钮。提交按钮会把表单数据发送到服务器。
text 定义单行的输入字段,用户可在其中输入文本。默认宽度为 20 个字符。

只要你的提交按钮的type是submit 或者 image ,都可以按回车提交,没必要用JavaScript了

 <input type="submit" />
<input type="image" src="submit.gif" alt="Submit" />