Подтвердить что ты не робот

Yii2: Как добавить textarea в yii2

Что такое отображение textarea в yii2? Как записать это в формате yii2?

<textarea  name="downloadSourceCode" id="downloadSourceCode"></textarea>

Что такое альтернатива или способ определения textarea в yii2?

4b9b3361

Ответ 1

Вы можете использовать Active Forms для создания полей типа textarea, например

<?php $form = ActiveForm::begin(['id' => 'downloadSourceCode']); ?>
<?= $form->field($model, 'description')->textarea(['rows' => '6']) ?>
<?= Html::submitButton('Submit') ?>
<?php ActiveForm::end(); ?>

В предыдущем примере вы создаете форму с текстовой областью внутри, вы можете дать ей имя и передать модель с контроллера, чтобы показать существующее содержимое модели, если вы ее редактируете, если вы создаете новую модели, вам нужно будет создать новый объект, а затем передать его в представление.

Ответ 2

Код области текста в 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>

Как видите, по умолчанию блок меток и ошибок генерируется вместе с кодом textarea, поскольку это может быть полезно в практических сценариях. Поэтому то, что я написал выше, будет интерпретировано как

<?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") ?>

Или более сложные настройки могут быть сделаны путем изменения шаблона,

"{} этикетки\п {} ввода\п {} Подсказка\п {ошибка}"

является шаблоном по умолчанию. Однако шаблон можно настраивать, если вы просто хотите, чтобы текстовая область переопределяла только шаблон генерации кода для текстовой области, как

" {вход}"

таким образом

<?= $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>

Div, обертывающий текстовое поле, можно удалить, изменив шаблон активной формы или используя другую функцию activeTextInput.

<?= Html::activeTextInput($model, 'election_description'); ?>

сгенерированный код будет

<textarea id="election-election_description" name="Election[election_description]"></textarea>

Ситуация 2 У вас нет модели

Если у нас нет модели и мы просто хотим создать точный код в соответствии с запросом, лучше всего использовать 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

Ответ 3

Вы можете сделать это следующим образом:

<?php $form = ActiveForm::begin(['id' => 'my-form']); ?>

<?= $form->field($model, 'field_name')->textArea(['rows' => '6']) ?>
<?= Html::submitButton('Submit') ?>
<?php ActiveForm::end(); ?>

Ответ 4

Использовать Textarea в шаблоне

<?= $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.'); ?>

Ответ 5

Вы можете использовать приведенный ниже код

<?= $form->field($model, 'desc')->textarea(); ?>

ИЛИ

<?= $form->field($model, 'desc')->textarea()->label('Description'); ?>

ИЛИ

<?= $form->field($model, 'desc')->textarea(array('rows'=>2,'cols'=>5)); ?>

Для подробнее о поле формы.

Ответ 6

Если вы сопоставляете с моделью, то следующий код должен быть ОК для вас:

<?= $form->field($model, 'downloadSourceCode')->textarea() ?>

Ответ 7

<?= $form->field($model, 'field_name')->textArea(['maxlength' => 300, 'rows' => 6, 'cols' => 50,'placeholder'=>'Enter Message Here.....']) ?>

Ответ 8

Вот так:

<?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(); ?>

Ответ 9

Это так просто. Просто напишите его вот так в ActiveForm:: begin.

<?= $form->field($model, 'downloadSourceCode')->textarea(['maxlength' => 1000]) ?>

и вы можете получить свою текстовую область.

Ответ 10

Если вы хотите textarea без указания какой-либо модели, используйте:

<?= \yii\helpers\Html::textarea('name_attribute_value') ?>

Выход будет:

<textarea id="id_attribute_value" name="name_attribute_value"></textarea>

Ответ 11

Это просто. Так же, как это

<?= $form->field($model, 'notes')->textarea(); ?>
<?= $form->field($model, 'notes')->textarea()->label('Notes'); ?>
<?= $form->field($model, 'notes')->textarea(['rows'=>2,'cols'=>5]); ?>

Ответ 12

Это может помочь вам

Текстовая область

<?= $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'); ?>

Ответ 13

Вот так.

    <?php $form = ActiveForm::begin(); ?>
    <?= $form->field($model, 'downloadSourceCode')->textArea(['maxlength' =>     true]) ?>
    <?php ActiveForm::end(); ?>

Ответ 14

<?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**

Ответ 15

Шаг 1: В вашем файле просмотра не забывается добавлять класс ActiveForm используйте yii\bootstrap\ActiveForm;

Шаг 2: добавьте текстовую область, как показано ниже, в представлении

поле ($ model, 'body') → textarea (['rows' = > 6])? >

Ответ 16

<?= $form->field($model, 'description')->textarea(['rows' => '2']) ?>

Ответ 17

Этот код добавлен в файл представлений:

<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>

Ответ 18

 <?php $form = ActiveForm::begin(); ?>
 <?= $form->field($model, 'description')->textarea(['rows' => '5']) ?>
 <?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?>
 <?php ActiveForm::end(); ?>

Эта строка для текстовой области

поле ($ model, 'description') → textarea (['row' => '5'])?>

Ответ 19

Я не уверен, но activeTextarea() с параметром attr приятно

Ответ 20

существует альтернативное расширение с именем kartik-v widget:

use kartik\widgets\ActiveForm;
echo ActiveForm::begin();
echo $form->field($model, 'username');

просто установите с композитором

Ответ 21

 <?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(); ?>

Ответ 22

С моделью:

<?= $form->field($model, 'user')->textArea(['rows' => 6]) ?>

Без модели:

<?= Html::textarea('sourceCode',null,['rows'=>6]) ?>

Ответ 23

Он имеет 2 возможности. Теперь сделаем это: поле ($ model, 'user') → textArea (['rows' = > 6])? >