私は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()はビューでは動作しますが、メインメニューのリンクでは動作しません。
はうーん、私はすでに私のコードで固定することを持っているようです。修正する前にコピーして貼り付けたバージョンでなければなりません。まだ問題が残っている。 – Eli