第二个对话框不显示

时间:2014-10-14 15:57:27

标签: php jquery yii modal-dialog

我正在开发Yii框架。我在Yii页面中创建了两个对话框来创建一些模型。第一个弹出正确,但第二个不弹出。 我写了视图文件。 view.php如下:

<?php
$this->menu=array(
    //array('label' => Yii::t('app', 'Publier à un contact'), 'url' => array('publierAContact', 'id_p'=> $model->id_publication, 'id_e' => $model->id_evenement)),
    array('label' => Yii::t('app', 'Publier à un contact'), 'url' =>'#','linkOptions' => array(
        'onclick' => "{publierAContact(); $('#dialogContact').dialog('open');}",
    )),
    array('label' => Yii::t('app', 'Publier à un groupe'), 'url' => '#', 'linkOptions' => array(
        'onclick' => "{publierAGroupe(); $('#dialogGroupe').dialog('open');}",
    ))
);

$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
        'id' => 'dialogContact',
        'options' => array(
            'title' => 'Publier à un contact',
            'autoOpen' => false,
            'modal' => true,
            'width' => 550,
            'height' => 200,
        ),
    ));
echo "<div class='divForForm'></div>";
$this->endWidget('zii.widgets.jui.CJuiDialog');

$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
        'id' => 'dialogGroupe',
        'options' => array(
            'title' => 'Publier à un groupe',
            'autoOpen' => false,
            'modal' => true,
            'width' => 550,
            'height' => 200,
        ),
    ));

echo "<div class='divForForm'></div>";

$this->endWidget('zii.widgets.jui.CJuiDialog');
?>
<script type='text/javascript'>
function publierAContact()
{
<?php echo CHtml::ajax(array(
    'url' => array('Publication/PublierAContact', 'id_p'=>$id_p, 'id_e' =>$id_e),
    'data' => "js:$(this).serialize()",
    'type' => 'post',
    'dataType' => 'json',
    'success' => "function(data) 
        {
            if(data.status == 'failure')
            {
                $('#dialogContact div.divForForm').html(data.div);
                    //Here is the trick: on submit-> once again this function!
                $('#dialogContact div.divForForm form').submit(add);
            }
            else
            {
                $('#dialogContact div.divForForm').html(data.div);
                setTimeout(\"$('#dialogContact').dialog('close');refreshDisciplines();\", 1000);
                document.location.reload();
            }

        }"
));?>
return false;
}

function PublierAGroupe()
{
<?php echo CHtml::ajax(array(
    'url' => array('Publication/PublierAGroupe', 'id_p' => $id_p, 'id_e' => $id_e),
    'data' => "js:$(this).serialize()",
    'type' => 'post',
    'dataType' => 'json',
    'success' => "function(data) 
        {
            if(data.status == 'failure')
            {
                $('#dialogGroupe div.divForForm').html(data.div);
                    //Here is the trick: on submit-> once again this function!
                $('#dialogGroupe div.divForForm form').submit(add);
            }
            else
            {
                $('#dialogGroupe div.divForForm').html(data.div);
                setTimeout(\"$('#dialogGroupe').dialog('close');refreshDisciplines();\", 1000);
                document.location.reload();
            }

        }"
));?>
return false;
}
</script>

不幸的是,我的第二个对话框无法显示。有人可以帮我知道什么是错的吗?

修改:

必须正确调用该函数:

'onclick' => "{PublierAGroupe(); $('#dialogContact').dialog('open');}",

因为函数的标识符是publierAGroupe

0 个答案:

没有答案