【问题标题】:Adding classes/ids to forms in Laravel 4在 Laravel 4 中向表单添加类/ID
【发布时间】:2013-06-21 12:51:00
【问题描述】:

我正在尝试在 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')}}

我没有在文档中看到这一点。谢谢!

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

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

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

    【讨论】:

    • 但是,当我这样做时,焦点发生了一些事情。输出:
    • 休息时文本框未显示为我想要的颜色。
    • 哦,好像是逃值了。在这种情况下,解决起来会很麻烦,因为我们必须创建新类,扩展HtmlBuilder,覆盖attributeElement 方法并使其不调用e 方法,即什么有效地转义了内容,最后将我们的这个新类注册为应用程序的html 组件。除了让人头疼之外,它还很糟糕,因为它禁用了所有 HTML 功能的转义......老实说,你应该在页面末尾通过 JavaScript 设置事件......
    【解决方案2】:

    虽然这是一个老问题,但我只想说你可以像这样逃避 javascript:

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

    就是这样:)

    【讨论】:

      猜你喜欢
      • 2013-06-21
      • 2018-06-05
      • 1970-01-01
      • 2019-07-18
      • 2021-08-23
      • 2014-02-07
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多