Twig 如何在Symfony FormType中强制attr html5为false
我试图在Symfony 5和Tempus Dominus Bootstrap4 Datetimepicker之间进行交易。我的Datetime输入表单仅在事件存在时使用更新函数。我想向表单传递一个属性,但它似乎不起作用 我有一个生成器:Twig 如何在Symfony FormType中强制attr html5为false,twig,datetimepicker,symfony5,Twig,Datetimepicker,Symfony5,我试图在Symfony 5和Tempus Dominus Bootstrap4 Datetimepicker之间进行交易。我的Datetime输入表单仅在事件存在时使用更新函数。我想向表单传递一个属性,但它似乎不起作用 我有一个生成器: $builder->add('date', DateTimeType::class, [ 'required' => true, 'widget' => 'single_text',
$builder->add('date', DateTimeType::class, [
'required' => true,
'widget' => 'single_text',
'attr' => [
'html5' => false,
'placeholder' => 'Date',
'class' => 'form-control datetimepicker-input',
'data-target' => '#datetimepicker1'
],
]);
我的模板:
<div class="row row-datetime">
<div class="input-group date col" id="datetimepicker1" data-target-input="nearest">
{{ form_widget(form.date, {'html5':false } ) }}
<div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker">
<div class="input-group-text datetimepicker-button">
<i class="fa fa-clock"></i>
</div>
</div>
</div>
</div>
{% block javascripts %}
{{parent()}}
<script>
$('#datetimepicker1').datepicker({
format: 'dd.MM.yyyy',
});
</script>
{% endblock %}
{{form_小部件(form.date,{'html5':false}}}
{%block javascripts%}
{{parent()}}
$('#datetimepicker1')。日期选择器({
格式:“dd.MM.yyyy”,
});
{%endblock%}
但结果出乎意料,Chrome将我的输入类型返回为“datetime local”
在另一个用于编辑现有事件的模板中,我有以下代码,没有form_小部件:
<div class="row row-datetime">
<div class="input-group date col" id="datetimepicker1" data-target-input="nearest">
<input type="text" class="form-control datetimepicker-input" data-target="#datetimepicker1"/>
<div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker">
<div class="input-group-text datetimepicker-button">
<i class="fa fa-clock"></i>
</div>
</div>
</div>
</div>
它就像一个魅力我不明白。。。如果我在第一个模板中尝试此代码,Twig将创建两个datetime输入。一个是datetimepicker,另一个是经典的datetime
我真的不明白
有人能帮我吗
谢谢
最好的
Py将生成器更改为:
$builder->add('date', DateTimeType::class, [
'required' => true,
'widget' => 'single_text',
'attr' => [
'placeholder' => 'Date',
'class' => 'datetimepicker-input',
'data-target' => '#datetimepicker1'
],
'html5' => false,
]);
请注意,
html5
规范不在attr
数组中。还请注意,您不必添加表单控件
类,因为symfony将在需要时自行完成此操作。谢谢您的回答!由于我的问题,我选择了一种最简单的方法,但稍后将尝试您的解决方案!顺致敬意,派克