Скрыть метку для поля ввода

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

Я пробовал пару вариантов, но ни один из них не работает:

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

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

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

Как правильно скрыть метку?


person Joshi    schedule 19.11.2014    source источник


Ответы (7)


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

<?= $form->field($model, 'sample_text')->textArea()->label(false) ?>
person Joshi    schedule 19.11.2014
comment
я пробовал ваше решение, но все еще отображал пространство в этой области. как мне его удалить? - person Ashok Chandrapal; 16.07.2015
comment
Почему этот ответ указан внизу страницы? ИМХО, это лучшее и самое простое решение. - person waza-ari; 01.05.2016
comment
не удаляет теги html - это неправильный ответ, посмотрите параметры enableLabel - person user1954544; 12.10.2016
comment
@AshokChandrapal см. мой ответ ниже: stackoverflow.com/a/54908797/2429318 - person ajmedway; 27.02.2019

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

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

Во время написания после изучения основного кода я обнаружил, что это лучшее решение для скрытия метки и предотвращения отображения полного шаблона поля с ошибками и т. д. для hiddenInput.

<?=
$form->field($model, 'address_uuid', [
    'template' => '{input}',
    'options' => ['tag' => false]
])->hiddenInput([
    'readonly' => true,
])->label(false)
?>
person ajmedway    schedule 27.02.2019
comment
Я удивлен, почему ваш ответ не отмечен как лучший. - person Hit-or-miss; 01.07.2019
comment
Так должно быть. OP @joshi, пожалуйста, учтите, так как это поможет другим увидеть лучшее текущее решение. - person ajmedway; 05.10.2020
comment
Лучше, чем фактическая документация yii и предложения dotblock. Это решение позволяет правильно проверять скрытый ввод как часть активной формы. Вы поверите, что вместо использования label(false) они предлагают использовать Html::activeHiddenInput() - person Fi Horan; 10.11.2020

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

$form->field($model, 'email', [
 'inputOptions' => [
    'enableLabel' => false,
  ]
 ])   
person s_mart    schedule 04.12.2015
comment
Не работает, потому что он был изменен на <?= $form->field($formImage, 'fileUrl', ['enableLabel' => false])->textInput(); ?> - person user1954544; 12.10.2016

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

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

public function attributeLabels()
{
    return [

        'id' => 'ID',
        'gender' => 'Gender',
        'client_name' => '',
        .
        .
        .
          ]
 }
person Abdur Rahman Warriach    schedule 16.04.2015
comment
Это не удаляет ярлык. Просто скрывает не отображает текст. Но элемент метки все еще там, занимая место. - person MEM; 29.04.2015
comment
Вы правы, это только скрывает ярлык, но это был первоначальный вопрос. «Скрыть метку для поля ввода», так и было, скрыть метку поля ввода. - person Abdur Rahman Warriach; 30.04.2015

person    schedule
comment
Бросать просто кусок кода, плохо отформатированный (исправленный), здесь не очень хорошее начало. - person trejder; 14.04.2015
comment
@HelgaIliashenko Нет, это не так. Этот сайт не набор рабочих ответов. Это самый известный в мире сайт вопросов и ответов, у которого есть свои правила. Одно из этих правил — предоставлять исчерпывающий ответ, а не скопированный фрагмент кода. Голосование за ответы, которые прямо нарушают одно из самых важных правил здесь, явно является ложным выстрелом. - person trejder; 20.11.2016
comment
@HelgaIliashenko Вы являетесь частью этого сообщества, и ваше мнение здесь, конечно, имеет значение. Но когда ваше мнение поддерживает стиль написания ответов, который прямо запрещен (или, по крайней мере, указан как очень нехороший способ написания хороших ответов), тогда я чувствую ответственность за указание вам на это. Это конкретное решение работает для вас, но не будет работать (без надлежащего текстового объяснения) для других, возможно, менее опытных, чем вы. И все пользователи SE должны иметь здесь ответы, которые подходят всем, а не только некоторым. Это мое мнение. Вы можете с этим не согласиться. - person trejder; 04.12.2016

person    schedule
comment
Хотя этот фрагмент кода может решить вопрос, включение объяснения действительно помогает улучшить качество вашего поста. Помните, что вы отвечаете на вопрос для будущих читателей, и эти люди могут не знать причин вашего предложения кода. - person Eel Lee; 02.06.2017
comment
Это также удаляет смещение дополнительного пространства - person Saurabh; 13.07.2017