在Ajax中使用enter按钮提交表单

时间:2012-11-20 05:21:37

标签: javascript jquery ajax

我的问题是,当我点击我的按钮时,它会正常工作,但如果我使用回车按钮,它将尝试提交表单并在URL上附加?var = x。

我的两个输入:

    <input type="text" name="users" onkeydown="if (event.keyCode == 13) document.getElementById('submitbtn').click()">
    <input type="button" name="submitbtn" onclick="showUser(users.value)">

您可以查看我的来源。如果您输入1或2并单击按钮,您将获得结果,但如果您点击回车,它将不会给您结果并更改我所说的URL。

http://crystalarcade.com/shoutbox

2 个答案:

答案 0 :(得分:4)

您正在使用document.getElementById,因此请为您的按钮添加ID

像这样

<input type="text" name="users" onkeydown="if (event.keyCode == 13) document.getElementById('submitbtn').click()">
<input type="button" id="submitbtn" name="submitbtn" onclick="showUser(users.value)">

这对你有用

答案 1 :(得分:0)

我假设您将拥有一个只有两个输入元素的表单。使用jQuery,您可以执行以下操作:

这样的事情应该让你开始,我需要记下这个代码是未经测试的,因为我不能使用AJAX进行跨站点请求。

<script type="text/javascript">
$(function(){
    $("#username").on("keypress", function(e){
       if(e.keyCode==13){ //keyCode value of 13 is for the enter key
        $.get("getusers.php" $("#userSearchForm").serialize(), function(data){
            if(data){
              $("shoutboxtxt").text(data);      
            }                
        }, "text");
    }
  }
});​
</script>

<form id="userSearchForm">
    <input type="text" name="users" id="username" />
    <input type="button" name="submitbtn" id="submitbtn" value="Search" />
</form>

<div id="shoutboxtxt"><b>Person info will be listed here.</b></div>​

在线:http://jsfiddle.net/HwcN3/1/