ユーザーが一意の識別子を入力する入力フィールドを持つフォームがあります。次に、ユーザーが入力フィールド(blur)から離れると、パーツの詳細を取得してページのいくつかのフィールドに入力するjQueryコードがあります。問題は、ユーザーが入力フィールドから移動する前に送信ボタンをクリックした場合、jQueryコードがデータをロードして必要なフィールドに入力する機会がないことです。これを行うための最良の方法は何ですか?フォーカスを本文に設定してから、入力する必要のあるすべてのフィールドが入力されるまでページをチェックし続ける無限ループを作成することを考えましたが、ある種のイベントベースのソリューションは、予測できない無限ループよりも優れていると思います。何か案は?
2 に答える
4
onsubmit
フォームにイベントを与えます。
false
すべてのフォームフィールドが正しく入力されていない限り、そのイベントを返します。
jQueryの場合:
$("#formname").submit(function()
{ if (condition_not_met) return false; });
これにより、すべてが整うまでフォームの送信がブロックされます。
ブロッキングはJavaScriptが無効になっている場合は機能しませんが、Ajaxを使用して正しいフィールドをフェッチしているので、おそらく問題にはなりません。
于 2010-06-02T19:57:57.173 に答える
0
ぼかし関数でajax呼び出しを行っていると思いますか?送信ボタンを(ページの読み込み時またはぼかし時に)無効にしてから、ajaxコールバックで有効にできますか?
于 2010-06-02T20:01:22.817 に答える