Php 用Yii提交文本

Php 用Yii提交文本,php,forms,yii,Php,Forms,Yii,我知道Yii,我正在努力学习一些更基本的功能。我使用的是Yii使用的基本应用程序,但是使用的是我自己的模型。到目前为止,一切都很顺利。我现在正在尝试向项目添加注释。我创建了一个小部件,我希望按钮在单击表单数据时提交,而不是将我带到默认的创建页面 用于初始化小部件的代码 <?php $this->widget('application.components.Comment', array( 'url'=>'url', )); ?> I ge

我知道Yii,我正在努力学习一些更基本的功能。我使用的是Yii使用的基本应用程序,但是使用的是我自己的模型。到目前为止,一切都很顺利。我现在正在尝试向项目添加注释。我创建了一个小部件,我希望按钮在单击表单数据时提交,而不是将我带到默认的创建页面

用于初始化小部件的代码

<?php
    $this->widget('application.components.Comment', array(
        'url'=>'url',
    ));
?>
I get:系统无法找到请求的操作组件/注释。我有'submit'=>'Comment',但得到:系统无法找到请求的操作注释


有什么想法吗?

首先,下面的代码总是提交表单来创建页面

正如Yii的官方文件所说:

submit:string,指定要提交到的URL。如果当前元素具有父表单,则将提交该表单,如果“提交”为非空,则其值将替换表单的URL。如果没有父表单,“params”中列出的数据将通过POST方法提交到“submit”中的URL或当前请求的URL(如果“submit”为空)

所以,你需要改变它。另一方面,您必须创建Yii样式的url。例如,ctrl/action必须按如下方式编写:

Yii::app()->createUrl('ctrl/action');
    echo CHtml::beginForm('action', 'post', array('id'=>'commentForm'));
    echo CHtml::textField('comment', '', array('style'=>'height: 25px; width: 164px; margin: 5px 0;'));
    echo CHtml::submitButton('Submit');
    echo CHtml::endForm();
还建议使用CHtml创建如下表单:

Yii::app()->createUrl('ctrl/action');
    echo CHtml::beginForm('action', 'post', array('id'=>'commentForm'));
    echo CHtml::textField('comment', '', array('style'=>'height: 25px; width: 164px; margin: 5px 0;'));
    echo CHtml::submitButton('Submit');
    echo CHtml::endForm();

另一个重要的注意事项是,当您试图将记录保存到数据库中时,您正在使用ActiveRecord。因此,您必须改用ActiveForm或更改输入名称,如ModelName[AttributeName]

您能告诉我url的示例吗?url示例:
Yii::app()->createUrl('ctrl/action');
    echo CHtml::beginForm('action', 'post', array('id'=>'commentForm'));
    echo CHtml::textField('comment', '', array('style'=>'height: 25px; width: 164px; margin: 5px 0;'));
    echo CHtml::submitButton('Submit');
    echo CHtml::endForm();