从 PHP 调用 JQuery UI 对话函数
Calling a JQuery UI Dialog function from PHP
我对 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'});
};
我尝试过以不同的方式调用该函数,但 none 确实有效:
if(isset($_GET['success'])) { echo '<script type="text/javascript"> function() { dialog(); } </script>'; }
或者
if(isset($_GET['success'])) { echo '<script type="text/javascript"> dialog();</script>'; }
none 成功了,谁能告诉我我做错了什么?
您是否尝试过将要触发的代码包装在 .ready();
函数中?
$(document).ready(function(){
});
这将确保 jquery 仅在页面加载时触发。我怀疑它在所有元素出现之前触发得太早,因此无法正常工作。
新代码看起来像这样:
<?php
if(isset($_GET['success'])){
echo '<script type="text/javascript">
$(document).ready(function(){
dialog();
});
</script>';
}
?>
我对 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'});
};
我尝试过以不同的方式调用该函数,但 none 确实有效:
if(isset($_GET['success'])) { echo '<script type="text/javascript"> function() { dialog(); } </script>'; }
或者
if(isset($_GET['success'])) { echo '<script type="text/javascript"> dialog();</script>'; }
none 成功了,谁能告诉我我做错了什么?
您是否尝试过将要触发的代码包装在 .ready();
函数中?
$(document).ready(function(){
});
这将确保 jquery 仅在页面加载时触发。我怀疑它在所有元素出现之前触发得太早,因此无法正常工作。
新代码看起来像这样:
<?php
if(isset($_GET['success'])){
echo '<script type="text/javascript">
$(document).ready(function(){
dialog();
});
</script>';
}
?>