这是我partials/textfield.blade.php
代码段的摘录:
{{ Form::text('mylabel', 'mytext', ['class' =>'form-control']) }}
我知道可以包含此代码段并将一些变量传递给它:
@INCLUDE('partials/textfield', ['required' => 'required', 'autofocus' => 'autofocus'])
我希望能够使用required
,autofocus
和readonly
的可选参数来调用代码段。
我现在的问题是:如何将这些变量传递给表单元素?
我试过了:
{{ Form::text('label',null,
[
'class' =>'form-control',
'required' => (isset($required) ? $required : 'false'),
'readonly' => (isset($readonly) ? $readonly : 'false'),
'autofocus' => (isset($autofocus) ? $autofocus : 'false')
])
}}
这会导致像... readonly="false"...
这样的HTML代码。但是,readonly
的存在会导致互联网浏览器将字段呈现为只读。
用'false'
替换''
也无济于事。有谁知道,如何将这些可选参数传递给代码段呢?
非常感谢任何帮助!
答案 0 :(得分:1)
{!! Form::input('text', 'email', null, [$required ? 'required' : '', $readonly ? 'readonly' : '', $autofocus? 'autofocus' : '']) !!}
不得不改变我的回答。我习惯了kris / laravel-form-builder。我试过了,应该工作。
答案 1 :(得分:0)
{{ Form::text('label',null,
[
'class' =>'form-control',
'required' => (isset($required) ? 'true' : 'false'),
'readonly' => (isset($readonly) ? 'true' : 'false'),
'autofocus' => (isset($autofocus) ? 'true' : 'false')
])
}}
您可以将这些值设置为true或false。
您将获得结果。
另一种方式是
@INCLUDE('partials/textfield', [ 'options' => [ 'class' =>'form-control', 'required' => 'required', 'autofocus' => 'autofocus']]);
现在你可以简单地
{{ Form::text('label',null,
$options
)
}}
通过这种方式你不必检查每一个领域。