OK、これが私の状況です(私は過去にこの問題を解決しましたが、私のアプローチが最善であったかどうか確信が持てないので、私はすべてのアドバイスに耳を傾けています) :
- シンプルな HTML フォームがあります
- このフォームの目的は決して提出することではありません
- ユーザーが(疑似)
Submit
ボタンを通常どおりクリックすると、目的のアクションが実行されます(Javascript/Ajaxなどを介して)
ことは次のとおりです。
- ユーザーがenterを押すと、フォームが送信されます。これは絶対に望ましくありません。
- 必要なのは、その特定のキー押下をキャッチし、その場合、ボタンがクリックされた場合に通常実行されるアクションをトリガーすることです。
これについてどう思いますか?
私のアプローチ
フォーム
<form id="someId" action="#" method="post"
onsubmit="return false;" onkeypress="return enterSub(this,event);">
...
</form>
コード
function enterSub(inField, e)
{
var charCode;
if(e && e.which)
{
charCode = e.which;
}
else if (window.event)
{
e = window.event;
charCode = e.keyCode;
}
if (charCode == 13)
{
performThatAction; // My Main action
}
}