web-dev-qa-db-ja.com

JavaScriptを使用してEnterキーでフォームを送信する

ここで何が間違っているのかわかりません。 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>
17
Mauro Golin

これを試して:

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

以下のコードスニペットを使用してください...スクリプトブロックに追加する必要があります

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

以下のコードはすべて、スクリプトブロックまたはファイルに追加する必要があります。送信機能を定義する:

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

フォームを送信するEnterキーの場合:

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

リンクを機能させるには:

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

http://jsfiddle.net/honglonglong/YMX2q/ を試してみてください。

6
夏至夕陽

このような非表示ボタンを作成するだけです
HTML

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

CSS

#submitbtn{display:none;}

ユーザーが入力ボタンを押すと、フォームが送信されます
type = "submit"の入力を忘れないでください

5
Waqas Tahir

リンクの代わりに<input type="submit">を使用します。その後、Enterキーが自動的に機能します。

5
sbking
// 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
1
iGuest