2016-08-25 17 views
0

私は複数の送信ボタンを持つ1つのフォームを持っていますが、それは$ _POST情報を使って処理されます。もちろん、Enterキーを押したときのデフォルトの動作は、ページ上の最初のボタンが「クリック」されていますが、クリックされたボタンは、クリックしたときのフォームの場所に依存します。 PHPコードの抜粋を抜粋して以下に示します。 onkeydown/onkeypress/onkeyuppを使用して、イベントキーコード(ここでは13)とdocument.getElementById( "buttonName")を使用してみましたが、click()フォームはまだクリックされたものです。で動作するように複数の送信ボタンでEnterキーを押す

if (isset($_POST['submit'])) { 
    // move to next page 
} 

if (isset($_POST['add'])) { 
    // add item to this page 
} 

$html .= '<input type="text" class="text" name="submitInfo" id="submitInfo">'; // if enter is clicked while in this textbox, the submit button should be clicked 

$html .= '<input type="text" class="text" name="OptionalAddInfo" id="OptionalAddInfo">'; // if enter is clicked while in this textbox, the add button should be clicked 

$html .= '<input type="submit" class="button" name="add" id="add" value="Add" onClick="return addItem();">'; 

$html .= '<input class="button" type="submit" name="submit" id="submit" value="Submit" onClick="return submitForm();">'; 

echo $html; 
+1

を入力してください?あるいは、 'onkeydown'を使ってテキストフィールドのキー13をテストしようとした際に、keydownイベントのデフォルト動作をキャンセルしましたか? – nnnnnn

+0

また、あなたのJavaScriptコードを追加してください。 –

+0

私はまた、他のボタンをクリックする前に、javascriptでデフォルトの動作をキャンセルしました。 複数のフォームが終わる可能性がありますが、いくつかの理由から私の好みのものではありません。最初に、この情報のすべてが本当に1つの "フォーム"のためであるということです。私は必要な提出情報があることを暗示しようとしましたが、いくつかのオプション情報も追加できました。これがすべて提出されます。だから、すべての情報は本当に一緒に属しています。このレイアウトでは、複数のフォームが理想的ではありません。 – John

答えて

1

使用jQuery.Hotkeysは、次の2つのフォームを使用していないのはなぜキーhotkeys

jQuery(document).bind('keydown', 'return', function() { 
        $("body #submit").trigger("click"); 
        return false; 
       }); 
関連する問題