1

在我的下一个应用程序中,我想通过 AJAX 将 CActiveForms 动态加载到其他 CActiveForms 中。

因此,我创建了不同的表单视图,如下所示:

$form = $this->beginWidget('CActiveForm', [...]

但它总是呈现标签。这导致嵌套形式:

<form id="form1">
    <form id="form2">
    </form>
</form>

如何防止 CActiveForm 为 form2 呈现表单标签?

4

1 回答 1

0

我认为CActiveForms 本身不可能。但是,您可以创建自己的小部件,它继承自它。然后就可以重写init()andrun()方法,echo CHtml::endForm();去掉340echo CHtml::beginForm行和328行的on。

但是,您的结果可能是混合的,很多 Javascript 和样式等依赖于具有某些设置的父表单等。

于 2012-11-02T08:51:31.567 回答