Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript (';';)。使用jQuery';s.load()函数_Javascript_Jquery Ui_Jquery Dialog_Jquery Load - Fatal编程技术网

Javascript (';';)。使用jQuery';s.load()函数

Javascript (';';)。使用jQuery';s.load()函数,javascript,jquery-ui,jquery-dialog,jquery-load,Javascript,Jquery Ui,Jquery Dialog,Jquery Load,我有以下代码: <?php $this->beginWidget('zii.widgets.jui.CJuiDialog', array( 'id'=>'mydialog', // additional javascript options for the dialog plugin 'options'=>array( 'title'=>'Confirmar', 'resizable'=>'false',

我有以下代码:

<?php
$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
    'id'=>'mydialog',
    // additional javascript options for the dialog plugin
    'options'=>array(
        'title'=>'Confirmar',
        'resizable'=>'false',
        'autoOpen'=>false,
        'modal'=>true,      
        'buttons'=>array('Eliminar'=>'js:function(){deleteMessage();$(this).dialog("close");}',
                         'Cancelar'=>'js:function(){$(this).dialog("close");}',),
    ),
));?>
<div style="display:none">Do you confirm you want to delete the item?</div> 
<?php 
$this->endWidget('zii.widgets.jui.CJuiDialog');
?>

<input type="button" onclick="js:openDlg()" value="Open the dialog">
<script language="javascript" type="text/javascript">
    function openDlg(){
        $("#mydialog").dialog("open"); 
    }
</script>

什么是
显示消息
?这是一个包含脚本的页面吗?这是一个包含jQuery另一个副本的页面吗?如果您包含jQuery的第二个副本,您将覆盖现有副本,可能您正在覆盖一个已加载对话框插件的jQuery,而新的jQuery没有加载对话框插件

如果要加载到div中,并且加载的文件中包含的是一整页HTML(包括
s等),则只应将所需的内容片段(通过
id
)加载到目标中。在所有情况下,都要避免
load()
ing包含
的HTML内容;其结果取决于具体情况,要么毫无意义,要么毫无意义


另外,
js:
在上面的所有代码中,没有任何作用,应该忽略。

如果加载是问题所在,那么很可能您已经加载(并覆盖)了当前加载的库,其中可能包括带有对话框插件的jQuery。确保加载一个干净的页面(每当我使用AJAX时,我通常只生成一个
,而不是整个网页)

如果失败,请确保包含正确的javascript文件,其中包括jQuery和jQuery UI


检查浏览器的网络/资源,跟踪这些脚本文件的运行情况,并查看javascript文件上是否有任何其他错误消息(可能没有找到404?)。

如上所述,您可能会覆盖这些库

一种处理方法是确保加载正确的文件

另一种方法是在对话框和对话框中的内容之间插入一个iframe。iframe被浏览器视为一个单独的页面,带有自己的脚本。因此,iframe“顶部”的内容脚本将与iframe“下方”的对话框脚本分开


既然您使用的是Yii,请检查此项。

什么是
$this
?我不知道任何使用该方法的对象。@Rikudo Sennin CJuiDialog是我使用的框架Yii提供的一个小部件。它封装了JUI对话框插件。从这个问题中抽象出您的PHP。这完全无关。请与我们谈谈您的预处理HTML/JS输出nstead.@Rikudo:这是一个jQuery问题;应该从问题中删除PHP,而不是从标记中删除Javascript。你能给我们看一下html吗?具体地说,与#mydialog相关的#div#u wall#消息在哪里?在#div#u wall#消息中是#mydialog吗?谢谢@bobince!我自己永远不会解决这个问题的。是的,显示Messages是一个呈现另一个包含脚本的页面的操作。因此,这正是发生的事情,我正在替换已经加载的javascriptim,很抱歉拒绝了标记建议。但是仔细研究,我真的不明白为什么不应该将其标记为jquery/javascript问题。不过感谢您的帮助!
<input type="button" onclick="js:load_wall()" value="Load Messages">
function load_wall(){
        var liga = $("#liga_id").val();
        $('#div_wall_messages').load('displayMessages',{liga_id: liga}, function(){

        });