Вызов функции JQuery UI Dialog из PHP

0

Я совершенно новичок в языке JQuery, но я нашел учебное пособие в сети, которое помогло мне открыть диалог с помощью кнопки клика.

функция я используется следующим образом:

$("#registration_ok").click(function() {
    $("#dialog").attr('title', 'Registration').text('Your Registration was Successfull!').dialog({ buttons: { 'Ok': function() {
        $(this).dialog('close');
    }}, open: function(){
            jQuery('.ui-widget-overlay').bind('click',function(){
                jQuery('#dialog').dialog('close');
            })
        }, closeOnEscape: true, draggable: false, resizable: false, hide: 'fade', show: 'fade', modal: true, dialogClass: 'success'});
});

Теперь я хочу использовать эту функцию и вызывать ее из php файла, но я не могу заставить ее работать. Мне может потребоваться переписать функцию, так как я думаю, что она ответит только на фактический щелчок, поэтому я попробовал следующее:

function dialog() {
    $("#dialog").attr('title', 'Registration').text('Your Registration was Successfull!').dialog({ buttons: { 'Ok': function() {
        $(this).dialog('close');
    }}, open: function(){
            jQuery('.ui-widget-overlay').bind('click',function(){
                jQuery('#dialog').dialog('close');
            })
        }, closeOnEscape: true, draggable: false, resizable: false, hide: 'fade', show: 'fade', modal: true, dialogClass: 'success'});
};

Я попытался вызвать функцию по-разному, но никто не работал:

if(isset($_GET['success'])) { echo '<script type="text/javascript"> function() { dialog(); } </script>'; }

Или

if(isset($_GET['success'])) { echo '<script type="text/javascript"> dialog();</script>'; }

никто не работал, может ли кто-нибудь сказать мне, что я делаю неправильно?

Теги:

1 ответ

0
Лучший ответ

Вы пробовали обернуть код, который будет запущен в .ready(); функционировать?

$(document).ready(function(){

});

Это обеспечит запуск jquery только при загрузке страницы. Я подозреваю, что он стреляет слишком рано, прежде чем все элементы присутствуют, поэтому не работает правильно.

Новый код будет выглядеть примерно так:

<?php
if(isset($_GET['success'])){
    echo '<script type="text/javascript">
              $(document).ready(function(){
                  dialog();
              });
          </script>';  

}
?>
  • 0
    Thx :) это была проблема действительно. код сработал слишком рано :)
  • 0
    Рад, что смог помочь! Если бы вы могли пометить вопрос как ответивший, чтобы он больше не появлялся на вкладке без ответа, это было бы здорово.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню