2015-01-12 3 views
0

Я довольно новичок в языке JQuery, но я нашел учебное пособие в сети, которое помогло мне открыть диалог, нажав кнопку.Вызов функции JQuery UI Dialog из PHP

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

$("#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>'; } 

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

ответ

0

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

$(document).ready(function(){ 

}); 

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

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

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

} 
?> 
+0

Thx :), который был вопрос на самом деле. код выстрелил слишком рано :) –

+0

Рад, что я мог помочь! Если вы можете отметить вопрос, как ответ, так что он больше не появляется на неотвеченных вкладках, что было бы здорово. – Rimble