【发布时间】:2013-01-31 03:36:12
【问题描述】:
在 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
});
}
【问题讨论】:
-
请改进文字,无法理解。
-
可能与jquery版本有关?我知道在 2.0 中放弃了对旧版本的一些支持
-
我有对话框窗口,在“a href”点击时打开。比我做 ajax 请求并获取消息。单击对话框中的按钮后,此消息应出现在对话框窗口中(在某些 div 中)。但是在 IE7 中重新打开对话框窗口后会出现消息。
-
试试 jQuery 1.7.x 我发现它是迄今为止最稳定的版本。特别是关于 IE 版本
-
好像你的对话框没有刷新...删除所有效果再试一次...
标签: javascript jquery html ajax