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

CHtml::ajaxSubmitButton() で $htmlOptions['live'] を true に設定してみてください。

于 2013-06-26T11:37:17.687 に答える
0

私は使用する必要があります:

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