2012-01-05 3 views
5

私はここで起こっていることについて混乱しています...それは基本的なはずですが、私はそれを理解できません。jqueryトリガが正しく動作しない?

私はデータベースに対してチェックする必要のある情報をフォームにあらかじめ用意しています。フォームがロードされるとき、私は検証する必要がある2つの入力ボックスの "ぼかし"イベントをjavascriptで実行します。

ここで何が起こっているのですか?フォームがロードされると、すべてのデータが正しく表示されますが、「username」と「email」入力の両方に対するトリガー(「ぼかし」)イベントはトリガーされません。ただし、手動で各入力にカーソルを置き、タブキーを押すか、ボックスの外側をクリックすると、「ぼかし」イベントがトリガーされます。

プリエンプトされたデータが既存のデータと矛盾している場合に、ページを読み込んでユーザーに警告する際にもトリガーする必要があります。

ありがとうございます。

​​
+1

を追加し、私はこれを置きますjsfiddleで、blurメソッドはexpected.http://jsfiddle.net/rawsmell/29JFk/1/のようにページの読み込みを開始します。何がうまくいきませんか? – Rondel

答えて

4

ユーザー名と電子メール要素のblurイベントから「検査」機能を取り出して、名前付き機能にするのはなぜですか?次に、page loadとblurイベント(これらの2つの要素)の関数を呼び出します。ページが読み込まれてから、最初に焦点を当てていないものにぼかしをトリガーしているので、コードが正しく動作しています。

+0

良いアイデア...私はばかだ...私は実際にフォームを作成する前に私が検証したことを知った...あなたの時間を無駄にする私の謝罪。答えのために – Ronedog

1

期待どおりに動作するはずです。

新しいファイルで次のコードを試してみてください... 問題が解決した場合、この問題の原因となっている別のページのコードに問題があります。

  • それにjQueryのスクリプトファイルを追加します。1簡単なHTMLページ
  • を作成し、ID "testinput" と
  • を1つの入力を追加します。次のスクリプト

    $(document).ready(function(){ 
        $("#testInput").blur(function(){ 
         alert(1); 
        }); 
    
        $("#testInput").trigger("blur"); 
    }); 
    
+0

ありがとう。それはうまくいきます、私は間違った順序でロジックを持っていました。回答ありがとうございます 。 – Ronedog

関連する問題