0
我正在使用對話框將新用戶添加到數據庫,如果驗證通過並且用戶成功保存,我想關閉對話框。請指教如果Ajax成功關閉對話框
$('.add_user_link a').each(function() {
var $link = $(this);
var $dialog = $('<div id="dialog"></div>')
.load($link.attr('href') + ' #content')
.dialog({
autoOpen: false,
title: $link.attr('title'),
});
$link.click(function() {
$dialog.dialog('open');
$('#add_user').submit(function() {
url = '/user/useradd/';
$.ajax({
type: "POST",
cache: false,
url: $('#add_user').attr('action'),
data: $('#add_user').serializeArray(),
success: function (data) {
var json_obj = $.parseJSON(data);
var result = json_obj['result'];
var lname = json_obj['lname'];
var email = json_obj['email'];
var fname = json_obj['fname'];
if (!result) {
$("#dialog").dialog('close');
}
else {
//
document.getElementById('email-error').innerHTML = email;
var fname_count = $("label[id*='errorfname']").length;
$('input[name=fname]').after('<label id="errorfname"></label>');
document.getElementById('errorfname').innerHTML = fname;
var lname_count = $("label[id*='errorlname']").length;
if (lname_count == 0) {
$('input[name=lname]').after('<label id="errorlname"></label>');
document.getElementById('errorlname').innerHTML = lname;
}
}
}
});
return false;
});
return false;
});
});
我得到這個錯誤
jquery-1.11.1.min.js:2 Uncaught Error: cannot call methods on dialog prior to initialization; attempted to call method 'close'
它的工作原理。但是當我重新打開對話框時,它帶有舊數據。我怎樣才能打開沒有充滿數據 –
這是鏈接的div標籤=「add_user_link」>Add New User –
您需要重置對話框的內容,如果這是應該發生的。 – Silkster