1

我们在项目中使用 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 中,其余浏览器工作正常。如果我将 modal 设置为 false,或者如果我使用 jQuery UI 1.7.1,即使歌剧也能正常工作。

这是一个示例程序。

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 那么它也可以正常工作。

4

2 回答 2

2

如果在 1.7.1 中一切正常,我会坚持下去并将错误报告给开发人员站点。

于 2009-07-09T15:57:11.057 回答
0

Opera 还有一个控制台调试器。我认为这将有助于向开发人员传递一条错误消息,如果您激活它,您可以获得该消息。

于 2009-07-09T16:25:08.767 回答