在Laravel 4中为表单添加类/ID

23

我正试图在Laravel 4中为表单的特定元素添加类和ID,例如,我想要这样:

<textarea type="text" id="description" onfocus="this.value=''; setbg('#f0f7f8');" onblur="setbg('white')" name="description" value="" rows="10"></textarea>

适用于:

{{ Form::label('description', 'Description:') }}
{{ Form::textarea('description')}}

我在文档中没看到这个。谢谢!

2个回答

34

使用Form::textarea方法的第三个参数,传递一个键值数组。例如:

Form::textarea('description', null, [
    'id'      => 'description',
    'rows'    => 10,
]);

然而,当我这样做时,焦点会发生变化。 输出:<textarea id="description" onfocus="this.value=''; setbg('$f0f7f8');" onblur="setbg('white')" rows="10" name="description" cols="50"></textarea> - user1072337
文本框在休息时没有出现我想要的颜色。 - user1072337
哦,看起来它正在逃避价值。在这种情况下,解决起来会非常麻烦,因为我们将不得不创建一个新类,扩展HtmlBuilder,覆盖attributeElement方法并使其不调用e方法,这实际上是转义内容的方法,最后将我们的这个新类注册为应用程序的“html”组件。除了这样很麻烦之外,它还会禁用所有HTML功能的转义...老实说,你真的应该通过JavaScript在页面末尾设置你的事件... - rmobis

0

虽然这是一个老问题,但我想说你可以像这样转义JavaScript:

Form::textarea('description', null, array(
    'id'      => 'description',
    'rows'    => 10,
    'onFocus' => 'this.value=\'\'; setbg(\'#f0f7f8\');'
));

就是这样 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接