Использование диалога jqueryui в качестве замены ядра javascript verify () - PullRequest
1 голос
/ 21 августа 2011

Я хочу заменить ядро ​​javascript на подтверждение () в диалоговом окне jquery ui. Я использую этот код ниже. Но он возвращает ошибку.

function CreateDialog(){
$("#diag-conf").dialog({show:'drop',hide:'drop',autoOpen:false,resizable:false,draggable:true,height:150,width:410,title:'Facebook Session Error!',modal:true,buttons:{"CONTINUE":function(){$(this).dialog("close");top.location.href=re_auth;},"CANCEL":function(){$(this).dialog("close");}}});
}
function digOpn(){
    var m='my msg';
    $('#digmsg').html(m);
    //$("#diag-conf").dialog("open");
    CreateDialog();
}
function sess_chk(){
   if(fb_ses())return true; 
   else 
   {
       digOpn();
       return false;
    } 
}

Теперь, когда я вызываю функцию sess_chk () из моего кода в событии onclick, он не запускает диалог пользовательского интерфейса, а выдает ошибку

Uncaught TypeError: Object [object Object] has no method 'propAttr' (jquery-ui.min.js:258)

Что я тут делаю не так .??!!

EDIT:

После некоторой отладки я увидел, что появляется сообщение «propAttr» из-за нескольких экземпляров jquery ui. Так или иначе мой код работает идеально сейчас. Даже если я видел это в {digOpn (); вернуть false} «return false» не ждет значения моего диалогового окна пользовательского интерфейса и выполняет немедленно. Но это не доставляет мне никаких проблем, хотя. Спасибо за Ваши добрые благодарности.

1 Ответ

2 голосов
/ 21 августа 2011

Ваша ошибка должна быть в другом месте на вашей странице (у вас даже нет propAttr в коде, который вы разместили).

Следующий кусок кода отлично работает для меня:

function CreateDialog() {
    $("#diag-conf").dialog({
        show:'drop',
        hide:'drop',
        autoOpen:false,
        resizable:false,
        draggable:true,
        height:150,
        width:410,
        title:'Facebook Session Error!',
        modal:true,
        buttons:{
            "CONTINUE":function(){
                $(this).dialog("close");
                top.location.href=re_auth;
            },
            "CANCEL":function(){
                $(this).dialog("close");
            }
        }
    });
}
function digOpn(){
    var m ='my msg';
    $('#digmsg').html(m);
    CreateDialog();
    $("#diag-conf").dialog("open");
}

digOpn();

Вот скрипка: http://jsfiddle.net/TBbAm/

...