Yii2: 如何在 yii2 中添加文本区域
Yii2: How to add textarea in yii2
yii2中textarea的映射是什么?
这个yii2格式怎么写?
<textarea name="downloadSourceCode" id="downloadSourceCode"></textarea>
在 yii2 中定义文本区域的替代方法或方法是什么?
我不太确定,但是 activeTextarea() 带有选项 attr 很好
您可以使用活动表单创建字段,例如 textarea
<?php $form = ActiveForm::begin(['id' => 'downloadSourceCode']); ?>
<?= $form->field($model, 'description')->textarea(['rows' => '6']) ?>
<?= Html::submitButton('Submit') ?>
<?php ActiveForm::end(); ?>
在前面的示例中,您正在创建一个内部带有文本区域的表单,您可以为其命名并从控制器传递模型以显示模型的现有内容,如果您正在编辑它,如果您正在创建一个新模型,您将需要创建一个新对象,然后将其传递给视图。
像这样:
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'die_geschichte')->textArea(array('rows'=>25, 'cols'=>50, 'readonly' => true, 'name'=>'xyz; )) ?>
<div class="form-group">
<?= Html::submitButton('Unangemessenen Inhalt melden', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
您可以这样做:
<?php $form = ActiveForm::begin(['id' => 'my-form']); ?>
<?= $form->field($model, 'field_name')->textArea(['rows' => '6']) ?>
<?= Html::submitButton('Submit') ?>
<?php ActiveForm::end(); ?>
就是这么简单。在你的 ActiveForm::begin.
中这样写就可以了
<?= $form->field($model, 'downloadSourceCode')->textarea(['maxlength' => 1000]) ?>
你可以得到你的文字区域。
如果您想要文本区域而不指定任何模型,请使用:
<?= \yii\helpers\Html::textarea('name_attribute_value') ?>
输出将是:
<textarea id="id_attribute_value" name="name_attribute_value"></textarea>
如果您使用模型进行映射,那么以下代码应该适合您:
<?= $form->field($model, 'downloadSourceCode')->textarea() ?>
您可以使用下面的代码
<?= $form->field($model, 'desc')->textarea(); ?>
或
<?= $form->field($model, 'desc')->textarea()->label('Description'); ?>
或
<?= $form->field($model, 'desc')->textarea(array('rows'=>2,'cols'=>5)); ?>
more details 关于表单域。
很简单。就这样
<?= $form->field($model, 'notes')->textarea(); ?>
<?= $form->field($model, 'notes')->textarea()->label('Notes'); ?>
<?= $form->field($model, 'notes')->textarea(['rows'=>2,'cols'=>5]); ?>
yii2中的文本区域代码可以通过多种方式创建,具体取决于您的需要
情况 1 你有一个模型
假设文本区域以活动形式连接到该模型
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'election_description')->textArea() ?>
<?php ActiveForm::end(); ?>
生成的代码将是
<div class="form-group field-election-election_description">
<label class="control-label" for="election-election_description">Description</label>
<textarea id="election-election_description" class="form-control" name="Election[election_description]"></textarea>
<div class="help-block"></div>
</div>
如您所见,标签和错误块默认与文本区域代码一起生成,因为这在实际场景中可能很有用。所以我上面写的内容将被解释为
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'election_description',['template'=> "{label}\n{input}\n{hint}\n{error}"])->textArea() ?>
<?php ActiveForm::end(); ?>
更改或删除标签只需执行
<?= $form->field($model, 'election_description')->textArea()->label(false) ?>
<?= $form->field($model, 'election_description')->textArea()->label("Some Label") ?>
或者更高级的定制可以通过修改模板来完成,
"{label}\n{input}\n{hint}\n{error}"
是默认模板。但是模板是可以自定义的,如果你只是想要文本区域只覆盖文本区域的代码生成模板为
"{input}"
因此
<?= $form->field($model, 'election_description',['template'=> "{input}"])->textArea() ?>
生成的代码将是
<div class="form-group field-election-election_description">
<textarea id="election-election_description" class="form-control" name="Election[election_description]"></textarea>
</div>
可以通过修改活动表单的模板或使用另一个函数 activeTextInput
来删除 Div 环绕文本字段
<?= Html::activeTextInput($model, 'election_description'); ?>
生成的代码将是
<textarea id="election-election_description" name="Election[election_description]"></textarea>
情况二您没有模特
如果我们没有模型,只是想按照要求创建准确的代码,最好的方法是使用 Html::textarea
遵循这种格式
textarea ( $name, $value = '', $options = [] )
参考这个例子
<?php use yii\helpers\Html;?>
<?= Html::textArea('downloadSourceCode',"",['id'=>'downloadSourceCode']); ?>
这将生成一个代码
<textarea id="downloadSourceCode" name="downloadSourceCode"></textarea>
希望这有帮助
参考这些链接了解更多信息
http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html#textarea()-detail
http://www.yiiframework.com/doc-2.0/yii-helpers-basehtml.html#textarea()-detail
http://www.yiiframework.com/doc-2.0/yii-helpers-basehtml.html#activeTextarea()-detail
有一个名为 kartik-v 小部件的替代扩展:
use kartik\widgets\ActiveForm;
echo ActiveForm::begin();
echo $form->field($model, 'username');
只需使用 composer 安装即可
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'description')->textarea(['rows' => 6]) ?>
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
<?php $form = ActiveForm::end(); ?>
在模板中使用文本区域
<?= $form->field($model, 'columnName',
['template' => '
{label}
<div class="input-group">
<span class="input-group-addon">
<i class="fa fa-newspaper-o"></i>
</span>
{input}
</div>
{error}{hint}'])->textarea(['rows' => 6])->hint('Max 255 characters.'); ?>
这对你有帮助
文本区
<?= $form->field($model, 'desc')->textarea(['rows'=>2,'cols'=>5,'id'=>'textarea_id','class'=>'form-control textarea_class']); ?>
<?= $form->field($model, 'desc')->textarea()->label('Description'); ?>
正文
<?= $form->field($model,'name'); ?>
<?= $form->field($model, 'name')->textInput()->hint('Please enter your name')->label('Name') ?>
密码
<?= $form->field($model, 'password')->input('password') ?>
<?= $form->field($model, 'password')->passwordInput() ?>
<?= $form->field($model, 'password')->passwordInput()->hint('Password should be within A-Za-z0-9')->label('Password Hint') ?>
文件
<?= $form->field($model, 'uploadFile')->fileInput() ?>
<?php echo $form->field($model, 'uploadFile[]')->fileInput(['multiple'=>'multiple']); ?>
收音机
<?= $form->field($model, 'gender') ->radio(array('label'=>''))
->label('Gender'); ?>
<?= $form->field($model, 'gender')->radio(array(
'label'=>'',
'labelOptions'=>array('style'=>'padding:5px;')))
->label('Gender'); ?>
<?= $form->field($model, 'population')->radioList(array('1'=>'One',2=>'Two')); ?>
列表
<?= $form->field($model, 'population')-> listBox(
array('1'=>'1',2=>'2',3=>3,4=>4,5=>5),
array('prompt'=>'Select','size'=>3)
); ?>
<?= $form->field($model, 'population')-> listBox(
array('1'=>'1',2=>'2',3=>3,4=>4,5=>5),
array('disabled' => true,'style'=>'background:gray;color:#fff;'))
->label('Gender'); ?>
是这样的
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'downloadSourceCode')->textArea(['maxlength' => true]) ?>
<?php ActiveForm::end(); ?>
<?= $form->field($model, 'field_name')->textArea(['maxlength' => 300, 'rows' => 6, 'cols' => 50,'placeholder'=>'Enter Message Here.....']) ?>
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'descrip', ['options' => ['class' => 'custom-class']])->textArea(['maxlength' => true, 'placeholder'=>'Invoice Address', "class"=>'form-control']) ?>
<?php $form = ActiveForm::end(); ?>
**You can Also add Tinymce widget instead of text area.**
<?= $form->field($model, 'club_description')->widget(TinyMce::className(), [
'options' => ['rows' => 4],
//'language' => 'EN',
'clientOptions' => [
'plugins' => [
"advlist autolink lists link charmap print preview anchor",
"searchreplace visualblocks code fullscreen",
"insertdatetime media table contextmenu paste"
],
'toolbar' => "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
]
]);?>
**Namespace: use dosamigos\tinymce\TinyMce;
Reference: https://github.com/2amigos/yii2-tinymce-widget**
第 1 步:在您的视图文件中不要忘记添加 ActiveForm Class
使用 yii\bootstrap\ActiveForm;
第 2 步:现在在视图中添加如下文本区域
字段($模型,'body')->文本区域(['rows' => 6])?>
有模特:
<?= $form->field($model, 'user')->textArea(['rows' => 6]) ?>
没有模特:
<?= Html::textarea('sourceCode',null,['rows'=>6]) ?>
<?= $form->field($model, 'description')->textarea(['rows' => '2']) ?>
有2种可能。现在这样做:
field($model, 'user')->textArea(['rows' => 6]) ?>
此代码已添加到视图文件中:
<div class="col-md-12 mb-10">
<label class="control-label" for="cancellesson-cancel_note">Cancel Note</label>
<textarea id="cancellesson_cancel_note" class="form-control" name="cancellesson[cancel_note]" placeholder="Enter Cancel Note" aria-required="true"></textarea>
</div>
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'description')->textarea(['rows' => '5']) ?>
<?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?>
<?php ActiveForm::end(); ?>
此行用于文本区域
<?= $form->field($model, 'description')->textarea(['rows' => '5']) ?>
您可以运行在控制台上执行以下命令
php composer.phar require --prefer-dist yiidoc/yii2-redactor "*"
or
"yiidoc/yii2-redactor": "*"
for instaling Redactor see https://github.com/yiidoc/yii2-redactor
你可以检查代码中的以下行
<?= $form->field($model, 'address')->widget(\yii\redactor\widgets\Redactor::className()) ?>
借助 Yii2 活动表单,我们可以在表单中创建 textarea 字段。
$form->field($model, 'fieldName')->textarea(array('rows'=>2,'cols'=>5));
yii2中textarea的映射是什么? 这个yii2格式怎么写?
<textarea name="downloadSourceCode" id="downloadSourceCode"></textarea>
在 yii2 中定义文本区域的替代方法或方法是什么?
我不太确定,但是 activeTextarea() 带有选项 attr 很好
您可以使用活动表单创建字段,例如 textarea
<?php $form = ActiveForm::begin(['id' => 'downloadSourceCode']); ?>
<?= $form->field($model, 'description')->textarea(['rows' => '6']) ?>
<?= Html::submitButton('Submit') ?>
<?php ActiveForm::end(); ?>
在前面的示例中,您正在创建一个内部带有文本区域的表单,您可以为其命名并从控制器传递模型以显示模型的现有内容,如果您正在编辑它,如果您正在创建一个新模型,您将需要创建一个新对象,然后将其传递给视图。
像这样:
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'die_geschichte')->textArea(array('rows'=>25, 'cols'=>50, 'readonly' => true, 'name'=>'xyz; )) ?>
<div class="form-group">
<?= Html::submitButton('Unangemessenen Inhalt melden', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
您可以这样做:
<?php $form = ActiveForm::begin(['id' => 'my-form']); ?>
<?= $form->field($model, 'field_name')->textArea(['rows' => '6']) ?>
<?= Html::submitButton('Submit') ?>
<?php ActiveForm::end(); ?>
就是这么简单。在你的 ActiveForm::begin.
中这样写就可以了<?= $form->field($model, 'downloadSourceCode')->textarea(['maxlength' => 1000]) ?>
你可以得到你的文字区域。
如果您想要文本区域而不指定任何模型,请使用:
<?= \yii\helpers\Html::textarea('name_attribute_value') ?>
输出将是:
<textarea id="id_attribute_value" name="name_attribute_value"></textarea>
如果您使用模型进行映射,那么以下代码应该适合您:
<?= $form->field($model, 'downloadSourceCode')->textarea() ?>
您可以使用下面的代码
<?= $form->field($model, 'desc')->textarea(); ?>
或
<?= $form->field($model, 'desc')->textarea()->label('Description'); ?>
或
<?= $form->field($model, 'desc')->textarea(array('rows'=>2,'cols'=>5)); ?>
more details 关于表单域。
很简单。就这样
<?= $form->field($model, 'notes')->textarea(); ?>
<?= $form->field($model, 'notes')->textarea()->label('Notes'); ?>
<?= $form->field($model, 'notes')->textarea(['rows'=>2,'cols'=>5]); ?>
yii2中的文本区域代码可以通过多种方式创建,具体取决于您的需要
情况 1 你有一个模型
假设文本区域以活动形式连接到该模型
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'election_description')->textArea() ?>
<?php ActiveForm::end(); ?>
生成的代码将是
<div class="form-group field-election-election_description">
<label class="control-label" for="election-election_description">Description</label>
<textarea id="election-election_description" class="form-control" name="Election[election_description]"></textarea>
<div class="help-block"></div>
</div>
如您所见,标签和错误块默认与文本区域代码一起生成,因为这在实际场景中可能很有用。所以我上面写的内容将被解释为
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'election_description',['template'=> "{label}\n{input}\n{hint}\n{error}"])->textArea() ?>
<?php ActiveForm::end(); ?>
更改或删除标签只需执行
<?= $form->field($model, 'election_description')->textArea()->label(false) ?>
<?= $form->field($model, 'election_description')->textArea()->label("Some Label") ?>
或者更高级的定制可以通过修改模板来完成,
"{label}\n{input}\n{hint}\n{error}"
是默认模板。但是模板是可以自定义的,如果你只是想要文本区域只覆盖文本区域的代码生成模板为
"{input}"
因此
<?= $form->field($model, 'election_description',['template'=> "{input}"])->textArea() ?>
生成的代码将是
<div class="form-group field-election-election_description">
<textarea id="election-election_description" class="form-control" name="Election[election_description]"></textarea>
</div>
可以通过修改活动表单的模板或使用另一个函数 activeTextInput
来删除 Div 环绕文本字段<?= Html::activeTextInput($model, 'election_description'); ?>
生成的代码将是
<textarea id="election-election_description" name="Election[election_description]"></textarea>
情况二您没有模特
如果我们没有模型,只是想按照要求创建准确的代码,最好的方法是使用 Html::textarea
遵循这种格式
textarea ( $name, $value = '', $options = [] )
参考这个例子
<?php use yii\helpers\Html;?>
<?= Html::textArea('downloadSourceCode',"",['id'=>'downloadSourceCode']); ?>
这将生成一个代码
<textarea id="downloadSourceCode" name="downloadSourceCode"></textarea>
希望这有帮助
参考这些链接了解更多信息
http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html#textarea()-detail
http://www.yiiframework.com/doc-2.0/yii-helpers-basehtml.html#textarea()-detail
http://www.yiiframework.com/doc-2.0/yii-helpers-basehtml.html#activeTextarea()-detail
有一个名为 kartik-v 小部件的替代扩展:
use kartik\widgets\ActiveForm;
echo ActiveForm::begin();
echo $form->field($model, 'username');
只需使用 composer 安装即可
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'description')->textarea(['rows' => 6]) ?>
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
<?php $form = ActiveForm::end(); ?>
在模板中使用文本区域
<?= $form->field($model, 'columnName',
['template' => '
{label}
<div class="input-group">
<span class="input-group-addon">
<i class="fa fa-newspaper-o"></i>
</span>
{input}
</div>
{error}{hint}'])->textarea(['rows' => 6])->hint('Max 255 characters.'); ?>
这对你有帮助
文本区
<?= $form->field($model, 'desc')->textarea(['rows'=>2,'cols'=>5,'id'=>'textarea_id','class'=>'form-control textarea_class']); ?>
<?= $form->field($model, 'desc')->textarea()->label('Description'); ?>
正文
<?= $form->field($model,'name'); ?>
<?= $form->field($model, 'name')->textInput()->hint('Please enter your name')->label('Name') ?>
密码
<?= $form->field($model, 'password')->input('password') ?>
<?= $form->field($model, 'password')->passwordInput() ?>
<?= $form->field($model, 'password')->passwordInput()->hint('Password should be within A-Za-z0-9')->label('Password Hint') ?>
文件
<?= $form->field($model, 'uploadFile')->fileInput() ?>
<?php echo $form->field($model, 'uploadFile[]')->fileInput(['multiple'=>'multiple']); ?>
收音机
<?= $form->field($model, 'gender') ->radio(array('label'=>''))
->label('Gender'); ?>
<?= $form->field($model, 'gender')->radio(array(
'label'=>'',
'labelOptions'=>array('style'=>'padding:5px;')))
->label('Gender'); ?>
<?= $form->field($model, 'population')->radioList(array('1'=>'One',2=>'Two')); ?>
列表
<?= $form->field($model, 'population')-> listBox(
array('1'=>'1',2=>'2',3=>3,4=>4,5=>5),
array('prompt'=>'Select','size'=>3)
); ?>
<?= $form->field($model, 'population')-> listBox(
array('1'=>'1',2=>'2',3=>3,4=>4,5=>5),
array('disabled' => true,'style'=>'background:gray;color:#fff;'))
->label('Gender'); ?>
是这样的
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'downloadSourceCode')->textArea(['maxlength' => true]) ?>
<?php ActiveForm::end(); ?>
<?= $form->field($model, 'field_name')->textArea(['maxlength' => 300, 'rows' => 6, 'cols' => 50,'placeholder'=>'Enter Message Here.....']) ?>
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'descrip', ['options' => ['class' => 'custom-class']])->textArea(['maxlength' => true, 'placeholder'=>'Invoice Address', "class"=>'form-control']) ?>
<?php $form = ActiveForm::end(); ?>
**You can Also add Tinymce widget instead of text area.**
<?= $form->field($model, 'club_description')->widget(TinyMce::className(), [
'options' => ['rows' => 4],
//'language' => 'EN',
'clientOptions' => [
'plugins' => [
"advlist autolink lists link charmap print preview anchor",
"searchreplace visualblocks code fullscreen",
"insertdatetime media table contextmenu paste"
],
'toolbar' => "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
]
]);?>
**Namespace: use dosamigos\tinymce\TinyMce;
Reference: https://github.com/2amigos/yii2-tinymce-widget**
第 1 步:在您的视图文件中不要忘记添加 ActiveForm Class 使用 yii\bootstrap\ActiveForm;
第 2 步:现在在视图中添加如下文本区域
字段($模型,'body')->文本区域(['rows' => 6])?>有模特:
<?= $form->field($model, 'user')->textArea(['rows' => 6]) ?>
没有模特:
<?= Html::textarea('sourceCode',null,['rows'=>6]) ?>
<?= $form->field($model, 'description')->textarea(['rows' => '2']) ?>
有2种可能。现在这样做:
field($model, 'user')->textArea(['rows' => 6]) ?>
此代码已添加到视图文件中:
<div class="col-md-12 mb-10">
<label class="control-label" for="cancellesson-cancel_note">Cancel Note</label>
<textarea id="cancellesson_cancel_note" class="form-control" name="cancellesson[cancel_note]" placeholder="Enter Cancel Note" aria-required="true"></textarea>
</div>
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'description')->textarea(['rows' => '5']) ?>
<?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?>
<?php ActiveForm::end(); ?>
此行用于文本区域
<?= $form->field($model, 'description')->textarea(['rows' => '5']) ?>
您可以运行在控制台上执行以下命令
php composer.phar require --prefer-dist yiidoc/yii2-redactor "*"
or
"yiidoc/yii2-redactor": "*"
for instaling Redactor see https://github.com/yiidoc/yii2-redactor
你可以检查代码中的以下行
<?= $form->field($model, 'address')->widget(\yii\redactor\widgets\Redactor::className()) ?>
借助 Yii2 活动表单,我们可以在表单中创建 textarea 字段。
$form->field($model, 'fieldName')->textarea(array('rows'=>2,'cols'=>5));