0

ユーザーが一意の識別子を入力する入力フィールドを持つフォームがあります。次に、ユーザーが入力フィールド(blur)から離れると、パーツの詳細を取得してページのいくつかのフィールドに入力するjQueryコードがあります。問題は、ユーザーが入力フィールドから移動する前に送信ボタンをクリックした場合、jQueryコードがデータをロードして必要なフィールドに入力する機会がないことです。これを行うための最良の方法は何ですか?フォーカスを本文に設定してから、入力する必要のあるすべてのフィールドが入力されるまでページをチェックし続ける無限ループを作成することを考えましたが、ある種のイベントベースのソリューションは、予測できない無限ループよりも優れていると思います。何か案は?

4

2 に答える 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 に答える