我希望在页面渲染时,可以显示日期输入框(type=date),但是实际上只显示了文本输入框(type=text)。
<html>
<head></head>
<body>
<input id="test_form_studentdob" class="normal" type="text" placeholder="DD-MM-YYYY" name="test_form[studentdob]">
</body>
</html>
我已经尝试过以下内容:
多种浏览器(包括桌面和移动端)
删除了所有在
标签内加载的CSS/JS。其中包括加载jQuery/jQuery/bootstrap UI库。
有什么想法是我可能做错了什么吗?谢谢。
Symfony控制器代码片段:
/**
* @Route("/test")
*/
public function testAction(Request $request) {
$form = $this->createForm(new TestFormType());
$form->handleRequest($request);
return $this->render(
"AppBundle:SelfService:TestForm.html.twig"
, array("form" => $form->createView())
);
}
Symfony表单类型类:
<?php
// src/appBundle/Form/TestFormType.php
namespace AppBundle\Form;
use Symfony\Component\Form\AbstractType
, Symfony\Component\Form\FormBuilderInterface
, Symfony\Component\OptionsResolver\OptionsResolverInterface;
class TestFormType extends AbstractType {
public function setDefaultOptions(OptionsResolverInterface $resolver) {
$resolver->setDefaults(
array(
"attr" => array(
"id" => "testform"
)
)
);
}
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->setMethod("GET")
->add(
"studentdob"
, "date"
, array(
"attr" => array(
"class" => "normal"
, "placeholder" => "DD-MM-YYYY"
)
, "format" => "dd-MM-yyyy"
, "required" => false
, "widget" => "single_text"
)
);
}
}
这是我的Twig模板:
{% block body %}
{{ form_widget(form.studentdob) }}
{% endblock %}