1

私の問題は、ボタンをクリックすると正しく機能することですが、Enterボタンを使用すると、フォームを送信しようとし、URLに?var=xを追加します。

私の2つの入力:

    <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

入力要素が2つしかないフォームがあると想定しています。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 に答える