0

我有带有 ajax 加载表单的页面:

看法:

$(function () {
    $('.row label').on('click', function () {
        var url = "<?php echo $this->createUrl('clientForm/getField');?>";
        var formID = "<?php echo $model->id;?>";

        var fieldName = $(this).attr('data-field-name');

        if (fieldName !== undefined) {
            var callback = function (response) {
                $('body').append(response);
                LoadingLayout.hide();
            };

            LoadingLayout.show();
            $.post(url, {"fieldName": fieldName, "formID": formID}, callback);
        }
    });
});

控制器:

public function actionGetField()
{
    // some code
    echo $this->renderPartial('_field_form', array(
            'clientForm' => $clientForm,
            'model' => $model,
        ), true);
}

控制器使用 CHtml::ajaxSubmitButton() 向我返回新表单,但是当我提交新表单(由 ajax 加载)时,它会将我重定向到新页面(form action="url");我认为 yii 无法将 ajax-submit 事件处理程序绑定到由 ajax 加载的表单。

任何想法如何解决它?

PS Yii 1.1.9

4

2 回答 2

0

我需要使用:

public function actionGetField()
{
    // some code
    echo $this->renderPartial('_field_form', array(
        'clientForm' => $clientForm,
        'model' => $model,
    ), true, true);
}
于 2013-06-26T11:33:22.343 回答
0

尝试在 CHtml::ajaxSubmitButton() 中将 $htmlOptions['live'] 设置为 true。

于 2013-06-26T11:37:17.687 回答