Павел Иванов
Павел Иванов

Reputation: 1913

How to add class to ActiveForm in Yii 2.0 framework?

I'd like to add a class to the form like:

<form role="form" action="/login" method="POST" class="userform">

How should I rewrite this for Yii 2.0 ActiveForm class?

The same question is for this structure inside of the form tag:

<div class="ui-grid-solo">
     <div class="ui-grid-a">
          <label for="name">Full Name</label>
          <input type="text" name="login" id="login" value="" data-clear-btn="true" data-mini="true">
          <label for="password">Password</label>
          <input type="password" name="password" id="password" value="" data-clear-btn="true" autocomplete="off" data-mini="true">
          <input type="checkbox" name="remind" id="remind" value="1">
          <label for="remind">Remember me</label>
          <br>
          <input type="submit" value="Login" onclick="this.form.submit();">
     </div>
</div>

Upvotes: 24

Views: 57562

Answers (6)

Suhas Bachhav
Suhas Bachhav

Reputation: 423

Options is worked for me.

<?php
$form = ActiveForm::begin([
    'action' => '/login',
    'options' => [
        'class' => 'userform',
        'enctype' => 'multipart/form-data'
        ]
    ]);
?>

I have referred this

Upvotes: 1

Suraj Rathod
Suraj Rathod

Reputation: 169

you can try with options to add class in active form for yii2

$form = ActiveForm::begin(['options' => ['class' => 'search-form clearfix']]);

Upvotes: 0

Kartz
Kartz

Reputation: 533

To add class in ActiveForm Yii2.0. You should use options

<?php $form = ActiveForm::begin(['action' => '/login','options' => ['class' => 'userform','enctype' => 'multipart/form-data']]); ?>

Please read this link for further clarification.

Upvotes: 8

Alec Smythe
Alec Smythe

Reputation: 810

In Yii2 I don't think 'htmlOptions' works. Just 'options' is correct, e.g.

<?php
    $form = ActiveForm::begin(
        [
            'action' => '/login',
            'options' => [
                'class' => 'userform'
             ]
        ]
    );
    // ... add all your inputs here for example:
    echo $form->field($model, 'login');
    ActiveForm::end();
?>

Upvotes: 50

emte
emte

Reputation: 647

You can use htmlOptions:

<?php
    $form = ActiveForm::begin(
        [
            'action' => '/login',
            'htmlOptions' => [
                'class' => 'userform'
             ]
        ]
    );
    // ... add all your inputs here for example:
    echo $form->field($model, 'login');
    ActiveForm::end();
?>

Upvotes: 4

Luka Camernik
Luka Camernik

Reputation: 81

My first answer but in widget options add

'htmlOptions'=>array('class'=>'editable)

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'my-form',
    'htmlOptions'=>array('class'=>'my-class'),
    'enableAjaxValidation'=>false,
)); ?>

I didn't read the question properly it seems, I posted for Yii 1.x

for Yii 2.0

'options'=>['class'=>'my-form']

$form = ActiveForm::begin(['id' => 'my-form', 'options'=>['class'=>'my-form']]);

Upvotes: 2

Related Questions