1

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

我的两个输入:

    <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 并单击按钮,你会得到结果,但如果你按 Enter,它不会给你结果并改变 URL,就像我说的那样。

http://crystalarcade.com/shoutbox

4

2 回答 2

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)">

这对你有用

于 2012-11-20T05:25:55.513 回答
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/

于 2012-11-20T05:38:29.000 回答