在IFrame中使用ajax


Using ajax within an IFrame

在我的站点中,我有一个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中的此按钮在单击时不会触发任何操作。是什么原因导致了这个问题?

原来我忘记了在表单定义中包含按钮。我将按钮和其他内容放在表单中,并将按钮更改为ajaxSubmitButton