在IFrame中使用ajax

时间:2011-06-30 15:37:17

标签: php ajax iframe yii

在我的网站中,我有一个iframe,其中包含一个Chtml :: ajaxButton。我找到了很多关于这个问题的帖子,但找不到解决方案。

我认为重要的是,此iframe不会用于将数据发送到与主机页面不同的域。

view.php

        <div style="height: 385px; width: 350px; overflow: hidden">
            <?php $url = "displayMessages?league_id=".$model->id; ?>
            <iframe src="<?php print $url?>" width="350" height="385">
            </iframe>
        </div>

LeaguesController.php

public function actionDisplayMessages()
{
    if(isset($_GET['league_id'])){
        $selectedLeague = $_GET['league_id'];
        $league = LigasDeAmigos::model()->findByPk((int)$selectedLeague);
        $user = (int)Yii::app()->user->id;
        $this->renderPartial('leagueWallMessages', array(
                                                    'model'=>$league,
                                                    'messages'=>$league->messages,
                                                    'user'=>$user,
        ));
    }       
}

LeagueWallMessages.php

<?php 
    echo CHtml::ajaxButton(
        "Compartir", CController::createUrl('leagues/insertComment',
    array(
        'league_id'=>$model->id)),
        array(
            'success' => "js: function(){ alert('Success!!'); }",
            'type' => 'post',
        ),
        array(
            'id'=>'idButtonShare',
            'style'=>'width:70px;height:40px; align:right;'
        )
    );
?>

如果点击了LeagueWallMessages.php中的此按钮,则不会触发任何操作。什么可能导致这个问题?

1 个答案:

答案 0 :(得分:1)

原来我忘了在表单定义中使用该按钮。我将按钮和其他内容放在表单中,然后更改了ajaxSubmitButton的按钮。