使用javascript在Enter键上提交表单

时间:2013-12-10 02:09:59

标签: javascript forms key submit enter

我不确定我在这里做错了什么。我想使用回车键以及单击按钮。

<form action="" method="get" class="priceOptionForm" name="priceOptionForm">
<input name="paypal_email" type="text" value="whatever" id="email"></label>
<a href="javascript:void(0);" class="bluebtn" id="profile_price" style="width:60px;margin-top:5px;">Save all</a>
</form>

9 个答案:

答案 0 :(得分:26)

试试这个:

document.getElementById('email').onkeydown = function(e){
   if(e.keyCode == 13){
     // submit
   }
};

答案 1 :(得分:8)

请使用以下代码段...应将其添加到脚本块

<script>
    document.onkeydown=function(evt){
        var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode;
        if(keyCode == 13)
        {
            //your function call here
        }
    }
</script>

答案 2 :(得分:6)

以下所有代码都应添加到脚本块或文件中。 定义提交功能:

function submitForm(){
    document.priceOptionForm.submit();
    document.priceOptionForm.method='post';
}

要输入密钥以提交表单:

document.onkeydown=function(){
    if(window.event.keyCode=='13'){
        submitForm();
    }
}

要获得工作链接:

document.getElementById("profile_price").onclick=submitForm;

您可以参考http://jsfiddle.net/honglonglong/YMX2q/进行一些尝试。

答案 3 :(得分:5)

使用<input type="submit">代替链接。然后输入键将自动运行。

答案 4 :(得分:5)

只需制作一个像这样的隐藏按钮 HTML

<input type="submit" id="submitbtn"  />

CSS

#submitbtn{display:none;}

当用户点击回车按钮时,表单将被提交
别忘了把type =“submit”

答案 5 :(得分:1)

// Process form if use enter key. put script in head.    
document.onkeyup = enter;    
function enter(e) {if (e.which == 13) submitForm();}

// uses keyup not down as better practice imo    
// submitForm() is user function that posts the form

答案 6 :(得分:1)

您可以在表单标签中放置默认按钮ID自动触发

<form id="form1" runat="server" defaultbutton="Button1">

<asp:Button ID="Button1" runat="server" Text="Button"

    OnClick = "Button1_Click" />

<asp:Button ID="Button2" runat="server" Text="Button"

    OnClick = "Button2_Click" />

<asp:Button ID="Button3" runat="server" Text="Button"

    OnClick = "Button3_Click" />

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

</form>

答案 7 :(得分:0)

在编辑表单中的字段(例如)时,用户单击“提交”按钮(或)或按下Enter 会触发Submit事件。直接调用form.submit()方法时,事件不会发送到表单。 check documentation

答案 8 :(得分:-1)

哦,那是因为HTML表单元素无法将链接识别为按钮,单击.. 你需要用一个按钮替换它......

<input type="submit" value="this will display on your button" onClick="javascript:void(0)">

但如果您希望它看起来像一个链接,您应该在css中执行此操作

<style type="text/css">
input{background-color:white;border:0 none;}
</style>