我们在项目中使用jQuery 1.3.2和jQuery UI 1.7.2。
在我们使用jQuery UI 1.7.1之前,一切都很完美。然后我们升级到jQuery UI 1.7.2,但它在Opera(9.63)中造成了麻烦。
问题如下: -
有一个带有textarea的jQuery UI对话框和一个提交按钮,它将“textarea”中的数据发布到服务器。在打开对话框之前,textarea的值设置为空白。
我也使用Modal:true来获取叠加层。
现在当我第一次打开对话框时,在textarea中输入一些数据并单击“提交”,它会将数据发布到服务器。然后我关闭对话框并重新打开它,再次在文本区域输入一些文本并提交再次。这次是发布空数据(或者在打开对话框之前为“textarea”设置的任何值。)
问题仅出现在Opera中,其他浏览器工作正常。 如果我将模态设置为false,或者如果我使用jQuery UI 1.7.1,即使opera也能正常工作。
这是一个示例程序。
google.load("jquery", "1.3.2");
google.load("jqueryui", "1.7.2");
//Attach a hidden dialog to body.
function initDialog()
{
var innerDiv = $("`<div>`");
$(innerDiv).attr({'id' : 'testDialog'});
var textBox = $("`<textarea>`");
$(textBox).attr({'id' : 'testBox', 'rows' : '2'});
$(innerDiv).append(textBox).appendTo('body');
$('#testDialog').css('visibility', 'hidden');
$('#testDialog').dialog({
autoOpen : false,
width : 500,
modal : true,
title : 'Enter text and click Alert',
buttons :
{
"Alert" : function() {
alert($('#testBox').val());
}
}
});
}
//Show the hidden dialog.
function showDialog()
{
$('#testDialog').css('visibility', 'visible');
$('#testBox').val('');
$('#testDialog').dialog('open');
}
window.onload = function() {
initDialog();
$('#mylink').click(function(){
showDialog();
});
}
</script>
<body>
<a href="javascript:void(0);" id='mylink'>Click here </a>
</body>
如果我们使用google.load(“jquery”,“1.7.1”),它将完美无缺 或者如果我设置modal:false,那么它也可以正常工作。
答案 0 :(得分:2)
如果1.7.1中的所有内容都完美无缺,我会坚持下去并将错误报告给开发者网站。
答案 1 :(得分:0)
Opera还有console debugger。我认为,如果您激活它,将有助于向开发人员传递一条错误消息。