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


Yii: a JavaScript callback on successful form submit

我想要一个成功保存活动表单的JavaScript回调。我可以把JavaScript回调放在哪里?

为了做到这一点,我需要制作表单AJAX吗?还是可以使用常规(非AJAX)表单?

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

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

  1. 关闭对话框
  2. 更新主HTML文档的CCD_ 4中的事物列表

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

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

请记住给这个按钮一个唯一的(前缀随机)id,以避免

带来不便

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

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

其中afterSubmitForm()js函数,获取服务器响应作为参数。