12

我使用 JQuery UI 1.8.10 和最新的 jquery。

我的代码是:

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.js"></script>
<script type="text/javascript" src="/cms/ww.admin/login/login.js"></script>
</head>
<body>

<div id="header"></div>
<?php
    if(isset($_REQUEST['login_msg']))
    {
        require SCRIPTBASE.'cms/ww.incs/login-codes.php';
        $login_msg = $_REQUEST['login_msg'];
        if(isset($login_msg_codes[$login_msg]))
        {
            echo '<script>$(function(){$("<strong>'.htmlspecialchars($login_msg_codes[$login_msg]).'</strong>").dialog({modal:true});});</script>';
        }

?>

为什么这会给出未定义错误的无法读取属性“3”?

给出错误的文件是jquery-ui.js on line 186

好的,现在我将其更改为:

</head>
<body>

<div id="header"></div>
<div id="login-msg"></div>
<?php
if(isset($_REQUEST['login_msg'])){
require SCRIPTBASE.'cms/ww.incs/login-codes.php';
$login_msg=$_REQUEST['login_msg'];
if(isset($login_msg_codes[$login_msg])){
   echo '<script>$(function(){
                    $("#login-msg").html("<strong>'.htmlspecialchars($login_msg_codes[$login_msg]).'</strong>").dialog({modal:true});});</script>';
}
}
 ?>

但仍然是同样的错误

4

4 回答 4

20

这是您的 jQueryUI 中的一个错误,它使用 :data 选择器(如果您在调用堆栈中向上,您会看到它),它已被弃用/与最新的 jQuery 不兼容。试试这个 jQueryUI:

http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.22/jquery-ui.min.js

这里的例子:

http://jsfiddle.net/techunter/RyUVq/

于 2012-08-14T09:36:52.317 回答
2

你发现了一个错误/不兼容!!

这不起作用 jquery (1.8.0):http: //jsfiddle.net/mZPWS/

较旧的 jquery 版本(1.7.2)正在工作:http: //jsfiddle.net/mZPWS/1/

于 2012-08-14T10:11:14.967 回答
0

它可能不是您的问题的根源,但也许为您的 .dialog() 小部件设置一个 div 可以帮助您。

您的 js 行$("<strong>'.htmlspecialchars($login_msg_codes[$login_msg]).'</strong>").dialog({modal:true}似乎使用了一条简单的消息,在大多数情况下都有效。

您可以尝试改用此行进行更改:

$(function()
{
    $("#header") // or any div you have
    .html("<strong>'.htmlspecialchars($login_msg_codes[$login_msg]).'</strong>")
    .dialog({modal:true});
});

另外,请确保您的“/cms/ww.admin/login/login.js”不是错误的来源,js 错误控制台很容易丢失,并且可以将您指向 jquery-ui.js,而错误在其他地方.

于 2012-08-14T09:18:33.963 回答
0

我确认不兼容问题。尝试使用 jquery-1.8.0 和 jquery-ui-1.8.4

于 2012-10-12T15:05:24.887 回答