2014-11-19 3 views
30

Я стараюсь скрыть ярлык для определенного поля в _form.php без успеха.Скрыть ярлык для поля ввода

Я попытался несколько вариаций, как, но ни один не работает:

<?= $form->field($model, 'sample_text')->textArea('label'=>false) ?> 

и альтернативный код:

<?= $form->field($model, 'sample_text')->textArea('label'=>'') ?> 

Что такое правильный подход, чтобы скрыть метку?

ответ

71

Хорошо, я нашел решение.

<?= $form->field($model, 'sample_text')->textArea()->label(false) ?> 
+0

я пытался ваше решение, но до сих пор его отображающее пространство на этой области. как его удалить? –

+0

Вы думаете, что '-> label (null)' будет работать. – Chloe

+3

Почему этот ответ указан в нижней части страницы? ИМХО это самое лучшее и самое простое решение. –

4
<?= $form->field($model, 'password', [ 
    'inputOptions'=>[ 
     'class'=>'form-control', 
     'placeholder'=>'Password' 
    ] 
])->passwordInput()->label(false); ?> 
+0

Бросок только части кода, плохо отформатированный (исправленный), не является хорошим началом здесь. – trejder

+0

@HelgaIliashenko Нет, это не так. Этот сайт не является кучей рабочих ответов. Это самый известный в мире сайт Q & A, который имеет свои собственные правила. Одно из этих правил - предоставить исчерпывающий ответ, а не скопированный в кусок фрагмент кода. Голосование по ответам, которые прямо нарушают одно из наиболее важных правил, очевидно, является ложным выстрелом. – trejder

+0

@HelgaIliashenko Вы часть этого сообщества, и ваше мнение здесь имеет значение - конечно. Но, когда ваше мнение поддерживает стиль написания ответов, которые прямо запрещены (или, по крайней мере, указывается как очень хороший способ написания хороших ответов), тогда я чувствую ответственность за указание на это. Это конкретное решение работает для вас, но не будет работать (без правильного текстового объяснения) для других, возможно, менее опытных, чем вы. И все пользователи SE должны иметь здесь ответы, которые хороши для _all_, а не только для _some_. Это мое мнение. Вы можете не согласиться с этим. – trejder

4

Или вы можете изменить template значение для конкретной области и удалить {label} часть из него. Т.е .:

<p><?= $form->field($page, 'image', [ 
    'template' => '<div class=\"\">{input}</div><div class=\"\">{error}</div>' 
])->fileInput() ?></p> 
-3

Лучший способ скрыть метку в поле ввода формы, чтобы передать пустое значение в массиве на «attributeLabels()» функция в модели.

т.е. вы вход подали имя «CLIENT_NAME», так что на «attributeLabels()» Возвращение массива функционального направления передать пустую строку в качестве значения массива

public function attributeLabels() 
{ 
    return [ 

     'id' => 'ID', 
     'gender' => 'Gender', 
     'client_name' => '', 
     . 
     . 
     . 
      ] 
} 
+0

Это не удаляет ярлык. Только скрытые объекты не отображают текст. Но элемент метки все еще существует, занимая пространство. – MEM

+0

Вы правы, это только скрыть этикетку, но это был исходный вопрос. «Скрыть ярлык для поля ввода», поэтому он сделал это, скрыть метку поля ввода. –

0

Вы можете отключить метку, при создании формы поля класса

$form->field($model, 'email', [ 
'inputOptions' => [ 
    'enableLabel' => false, 
    ] 
]) 
+1

Не работал для меня. –

+2

Не работает, потому что он был изменен на ' поле ($ formImage, 'fileUrl', ['enableLabel' => false]) -> textInput(); ?> ' – user1954544

3
<?= $sffForm->field($sffModel, 'url_keywords', ['enableLabel' => false])->textInput(['placeholder' => 'URL/keywords']) ?> 
+1

Хотя этот фрагмент кода может решить вопрос, [включая объяснение] (https://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество Ваше сообщение.Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. –

+0

Это также снимает смещение дополнительного пространства – Saurabh

Смежные вопросы