Yii:成功表单提交的JavaScript回调

时间:2013-08-15 15:32:31

标签: php jquery-ui iframe yii

我希望在成功保存活动表单时进行JavaScript回调。我在哪里可以放回JavaScript回调?

我是否需要制作AJAX表单才能执行此操作,或者是否可以使用常规(非AJAX)表单?

事实上,我将把这个表单放在iframe里面(在jQuery UI模式对话框中)。

保存iframe中的表单时,我需要做两件事:

  1. 关闭对话框;
  2. 更新主HTML文档的<select>中的内容列表。

2 个答案:

答案 0 :(得分:2)

您可以在表单中添加按钮:

<?=CHtml::ajaxSubmitButton('Save', Yii::app()->createUrl('some_url'),
            array('success' => 'function(response){afterSubmitForm(response);}'),
            array('class' => 'btn btn-primary'));
        ?>

afterSubmitForm() js的功能,将服务器响应作为参数。

答案 1 :(得分:2)

尝试将ajax处理程序放在表单提交上,这是我项目中的实时代码示例:

 echo CHtml::ajaxSubmitButton('submit',          
        array('index'), 
        array(
                'type'=>'POST',
                'data' => array(),
                'success' => 'js:function(){/*callback*/}', 
        ));

请记住给这个按钮一个唯一的(prefix_random)id来避免不便