2011-01-14 14 views
1

私はjqueryプラグインを使用しています。フィールドにフォーカスしてフォーカスを外すと、検証エラーが通知されます。別のajax呼び出しが行われたときにjquery検証スクリプトがリセットされない

私の設定では、私は別のページからajaxを介してコンテンツを読み込むメニューがあり、そのコンテンツには別のajaxリクエストでコンテンツを呼び出す別のサブメニューがあります。私が使っている場所を作成したコンテンツの私は、上の(別のAJAX要求を使用して)そこから作成し、サブメニューから[表示]をクリックし、その後、メインメニューから[ファイル]をクリックします

シナリオ

です検証プラグインのように、私はそれが動作しますが、フォーカスを当てると言ったように、メインメニューから再びファイルをクリックすると、検証エラーがポップアップした場所に残ります。サブメニューからViewをクリックすると、検証エラーが消えます。

私はなぜエラーがajax呼び出しでサブメニューからフェードアウトしたのかをメインメニューから切り離そうとしました。

メインメニュースクリプト:

//------------------------------------------------------------------ 
// Pidget menu 
//------------------------------------------------------------------ 
var content = '#main-content', 
    wrap = '#wrap'; 
$("nav a.files-menu-link").live('click', function({ 
    $.validationEngine.closePrompt('.formError',true); 
    $(content).hide(200, function(){ 
     $(wrap).load('files.php' + content, function(){ 
      $(this).hide().html(data).slideDown(500); 
     }); 
    }) 
    return false; 
}); 

サブメニュースクリプト

$('a#prospect-file-link').live('click', function(){ 
    $.validationEngine.closePrompt('.formError',true); 
    $.post('resources/ajax/ajax.php', { 
     action : 'prospects', 
     uid : uid 
    }, function(data){ 
     $('#files-right-pane').hide().html(data).slideDown(500); 
     $(".alpha").click(function() { 
      $(this).find("span").toggleClass("expand-alpha-down"); 
      $(this).next(".show").slideToggle(); 
      return false; 
     }); 
    }); 
    return false; 
}); 

、新しいスクリプトを作成

//-- Create new prospect 
$('a.new-prospect').live('click', function(){ 
    $('#files-right-pane').fadeOut(200); 
    $.post('resources/ajax/ajax.php', { 
     action : 'create_prospect', 
     uid : uid 
    }, function(data){ 
     $('#files-right-pane').hide().html(data).slideDown(500); 
     selectBox('prospect-type', 'prospect-type-td'); 
     selectBox('status', 'status-td'); 
     selectBox('primary-number', 'primary-td'); 
     selectBox('secondary-number', 'secondary-td'); 
     mce('new-prospect-comments'); 
     $("#new-prospect-form").validationEngine(); 
     $('.state').autoSuggest('resources/ajax/suggest.php', {minChars: 2, matchCase: false, startText: '', asHtmlID: 'state'}); 
    }); 
    return false; 
}); 

HTMLマークアップ

... 
<td><input type="text" id="first_name" name="first_name" class="validate[required]" /></td> 
<td><input type="text" id="middle_name" name="middle_name" /></td> 
<td><input type="text" id="last_name" name="last_name" class="validate[required]" /></td> 
... 

私の設定では、.closePromp()はビューでは動作しますが、メインメニューのリンクでは動作しません。

答えて

0

'function(')の後ろに括弧がないようです。代わりの

$("nav a.files-menu-link").live('click', function({ 

は、それは次のようになります。

$("nav a.files-menu-link").live('click', function(){ 
+0

はうーん、私はすでに私のコードで固定することを持っているようです。修正する前にコピーして貼り付けたバージョンでなければなりません。まだ問題が残っている。 – Eli

関連する問題