Подтвердить что ты не робот

JQuery UI 1.8.10 Невозможно прочитать свойство "3" из undefined

Я использую 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" ошибки undefined?

файл, который дает ошибку, 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>';
}
}
 ?>

Но по-прежнему та же ошибка

4b9b3361

Ответ 1

Это ошибка вашего jQueryUI, которая использует селектор: (если вы поднимаетесь в стеке вызовов, вы увидите его), который устарел/несовместим с последним jQuery. Попробуйте с этим jQueryUI:

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

пример здесь:

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

Ответ 3

Возможно, это не источник вашей проблемы, но, возможно, установка div для вашего виджета .dialog() может помочь вам.

Ваша строка 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, в то время как ошибка где-то в другом месте.

Ответ 4

Я подтверждаю проблему несовместимости. Пробовал jquery-1.8.0 и JQuery-щ-1.8.4