ajax 调用后,我将 div 附加buf
到某个消息框,但重新打开对话框后会出现文本。在 Chrome、firefox、IE 8 上,这可以正常工作,但在 ie 7 中不行。
编辑:我有一个对话窗口,点击链接打开。然后我做ajax请求并收到一条消息。单击对话框中的按钮后,此消息应出现在对话框窗口中(在某些 div 中)。但在 IE7 中,重新打开对话框窗口后会出现消息。
$("#promised_pay_dialog").dialog({
buttons: {
"some button": function(){
if ($('#confirm').is(':checked')) {
$.ajax({
url: 'ajax/promisedPayment',
type: "POST",
data: {
subsId:$("#sid").val()
},
success: function(buf){
$('#message_box').html(buf);
return false;
}
});
}
else {
alert("some message");
}
},
"some button": function() {
$(this).dialog("close");
}
},
show: {
effect: "blind",
duration: 1000
},
hide: {
effect: "explode",
duration: 1000
},
modal: true,
resizable: false,
width: 550,
height: 250
});
解决了问题,但并不令人满意:
单击链接时,调用createDialog("")
不带参数的函数。ajax 请求后,接收消息并调用createDialog(buf)
。但我认为这不是一个好的解决方案。有任何想法吗?
function createDialog(mess){
$('#message_box').html(mess);
$("#promised_pay_dialog").dialog({
buttons: {
"some button": function(){
if ($('#confirm').is(':checked')) {
$.ajax({
url: 'ajax/promisedPayment',
type: "POST",
data: {
subsId:$("#sid").val()
},
cache:false,
success: function(buf){
createDialog(buf);
}
});
}
else {
alert("some message");
}
},
"some button": function() {
$(this).dialog("close");
}
},
show: {
effect: "blind",
duration: 1000
},
hide: {
effect: "blind",
duration: 1000
},
modal: true,
resizable: false,
width: 550,
height: 250
});
}