2009-04-20 20 views
0

フォームの送信ボタンにJavaScript関数をバインドしたので、xhrPostリクエスト(Dojoを使用)を介してフォームを送信しました。ただし、ユーザーがSafariで「Enter」を押すと、通常の方法でフォームが送信されます。Safari:Enterキーが押されたときにxhrPostを使用してフォームを送信

Enterキーを押したときにSafariがフォームを送信しないようにする方法はありますか? JavaScript関数を代わりにEnterキーにバインドすることはできますか?

ありがとうございます!

--Andreas

答えて

0

これはおそらく、提出ハンドラコード内のエラーが原因起こっている - 例外が存在する場合Safariはいつものようにフォームを送信します。 Safariコンソールにエラーが表示されているかどうかを確認します。

<input>要素が<form>タグの外側にあった場合にも、同様の問題が発生しました。おそらく、おそらくそれをもう一度チェックしてください。

0

この問題を解決する方法は、[Enter]キーを無効にすることでした。それほどエレガントではなく、より良いアプローチを探しています。

$('form').keypress(function (e){ if((e.which==13){ return false; }});

1

あなたはonsubmitハンドラからのfalse値を返すされていますか?これは、通常のフォーム提出を防ぐために必要なものです(Javascriptが有効な場合)。

関連する問題