【问题标题】:Yii Framework - render CActiveForm without the form tagYii 框架 - 渲染没有表单标签的 CActiveForm
【发布时间】:2012-11-02 08:35:19
【问题描述】:

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

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

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

但它总是呈现标签。这会产生嵌套形式:

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

如何防止 CActiveForm 为 form2 渲染表单标签?

【问题讨论】:

    标签: html ajax forms yii


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,我会试试的。 brb
    • 好的,成功了。我会看到,JavaScript 和 Css 将如何使用它。
    • 很高兴它成功了。如果这是一个非常具体的案例,你可能会没事,但我不会太广泛地使用它。希望它对你有用。
    • 另一种解决方案是将表单呈现在彼此下方,并在提交时以特定顺序提交每个表单。会尝试两个版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多