Laravel 4表格标签

时间:2013-10-31 11:16:30

标签: laravel laravel-4

我希望在laravel表单中添加一个空白的标题标签字段。但是,当我将“标题”字段留空并选择“输入”输入时,它会自动将其分配给标签标题。

{{ Form::label('name', '', array('class' => 'label-input', 'id' => 'name'))  }}

我尝试将该字段留空并为空,但它会自动获取“for”标签。这是输出:

<label for="Name" class="label-input" id="name">Name</label>

提前谢谢你,

3 个答案:

答案 0 :(得分:1)

您可以使用自定义macro,例如

Form::macro('emptyLabel', function($name, $options = array())
{
    $options = Html::attributes($options);
    return '<label for="'.$name.'"'.$options.'></label>';
});

将其用作

{{ Form::emptyLabel('name', array('class' => 'label-input', 'id' => 'name')) }}

输出

<label for="name" class="label-input" id="name"></label>

您可以在app/start/全局或过滤中添加宏,即使在路径中也是如此。

答案 1 :(得分:0)

最简单的解决方案

{{ Form::open() }}
    {{ Form::label('name', '&nbsp;') }}
    {{ Form::text('name') }
{{ Form::close() }}

答案 2 :(得分:0)

看看twitter bootstrap如何做到这一点。我认为这是一个很好的解决方案。如果您在项目中使用bootstrap,则只需将.sr-only类添加到标签中。否则将css添加到您自己的文件中它应该可以工作。无论如何,最好包括屏幕阅读器的标签文本。 sr-only仅代表屏幕阅读器!

以下是他们为此课程使用的代码:

.sr-only {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0,0,0,0);
   border: 0
 }