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;
を入力してください?あるいは、 'onkeydown'を使ってテキストフィールドのキー13をテストしようとした際に、keydownイベントのデフォルト動作をキャンセルしましたか? – nnnnnn
また、あなたのJavaScriptコードを追加してください。 –
私はまた、他のボタンをクリックする前に、javascriptでデフォルトの動作をキャンセルしました。 複数のフォームが終わる可能性がありますが、いくつかの理由から私の好みのものではありません。最初に、この情報のすべてが本当に1つの "フォーム"のためであるということです。私は必要な提出情報があることを暗示しようとしましたが、いくつかのオプション情報も追加できました。これがすべて提出されます。だから、すべての情報は本当に一緒に属しています。このレイアウトでは、複数のフォームが理想的ではありません。 – John