私は1つのフォームと多数のボタンを持つWebページを持っています。 POSTが検索ボタンの名前を保持する検索テキストボックスで、ユーザーがEnterキーを押したときに、検索ボタンのPOSTを実行したいとします。ENTERを押したときに特定のボタンを送信
私はフォームのPOSTを提出する多くのソリューションを見てきましたが、POSTのフォーム内に検索ボタンを含める方法を教えてくれた人はいませんでした。
これは、コードの簡易版である:私はこの方法を試してみました
if request.method == POST:
if 'btn_search' in request.POST:
# Do my search
:
<script>
$(document).ready(function() {
$('#txtbx_search').keypress(function (e) {
if (e.keyCode == 13) {
e.preventDefault();
document.getElementById('btn_search').click();
//OR
document.getElementById('form').submit();
}
});
});
</script>
テンプレート:
<form name="form" id="form" action="" method="POST">
<input type="text" id="txtbx_search" name="txtbox_search">
<button id="btn_print" type="submit" name="btn_print"><b>Print</b> </button>
<button id="btn_delete" type="submit" name="btn_delete"><b> Delete</b> </button>
<button id="btn_search" type="submit" name="btn_search"><b>Search</b> </button>
{% csrf_token %}
</form>
私の見解しかし、私はどうすればいいですか? POSTデータ内のボタンを除外しますか? デフォルトでは、Enterキーを押すと印刷ボタンが送信されます ありがとうございました。
こんにちは、このコードは提出していますか?送信する直前にbtn_searchをクリックする必要がありますか? – tanaydin
tabindexを使って試してみてください。 –
フォームを送信することは、フォーカスが入力要素内にあり、 'enter'が押されたときのデフォルトの動作です。 – Rayon