2011-07-25 14 views
0

を通じて更新されたときに、私は、入力フィールドは、入力フィールドがjqueryの

<input type="text" name="vehicle_make[]" id="make1"/> 

を持っていると私は、ユーザーがそうすることを選択した場合は、このフィールドを更新し、ヘルプ]ドロップダウンを持っている何かをします。私は、それが検証上のユーザーのクリックでそのボックスに何も入力する前に、彼はそれを埋めるために必要があることに気づくでしょう場合、私は、このフィールドを検証するための検証プラグインを使用しているため問題は、ある標準のjQueryコードに

$("#make1").val("value"); 

トラフ行いますしかし、もしドロップダウンでそれを埋めるならば、ユーザーがsubmitを再度クリックするまで、プラグインはそれを検出しません。

私はドロップダウンを処理する機能でサブミットを呼び出すことができると知っていますが、正しい解決策ではないと思います。なぜなら、そうする前にバリデーションが既に行われているかどうかをチェックする必要があるからです私はそれを開始する前に検証を開始するだろう)。

私はまた、そのフィールドにいくつかの他のものを結びつける必要があるので、私はそれがユーザーがそれを記入しなかった場合でもフィールドがいっぱいになっているかどうかを常にチェックするように関数を書くことができる方法があることを知りたいです直接。

申し訳ありませんすべてのことを正しく説明していない場合、これが私の最初のメッセージです。

答えて

0

私が見つけた解決策を試してみてください。まず、js変数form_submittedを作成し、変数form_submittedの値をyesに変更するためにボタンを送信するonclickイベントを追加しました。そして、私は関数を作成しました:

function update_validation(){ 
    if(form_submitted == 'yes'){ 
     $("#my_form").valid(); 
     }; 
    }; 

私は、ユーザーがvalidateプラグインで定期的に検出されないものを実行すると呼びます。この関数は、手動で検証を再開します。ただし、事前にsubmitをクリックして開始した場合にのみ有効です。

0

この

$("#make1").change(function(){ 

    //do something there 
}); 
+0

フィールドトラフjqueryをアップロードすると機能しません。面白いのは、もし私がページでロードされるメインjsに書き込むと、load()を使って後でロードするページの一部では動作しませんが、ロードしているページに置くと働く – Milos911

+0

Ops、Enterを入力してコメント:)。 keypress trough jqueryをシミュレートする別のアイデアがありました(何かを書いたかったので、それを削除するより、検証すると検出メソッドが起動することを期待していました)。 stackoverflowの他の答えによれば、うまくいきません。だから、私は新しい提案を求めている。 – Milos911

+0

keydownイベントを試しましたか? – ShankarSangoli

関連する問題