我想使用选择类型发送请求,没有提交按钮,我尝试使用javascript但没有结果
我的表单代码:
$form = $this->createFormBuilder()
->add('language', 'choice', array(
'choices' => array(
'ar' => 'Arabic',
'fr' => 'French',
'es' => 'Espagnol',
'nl' => 'Dutch',
'ja' => 'Japanese',
'en' => 'English',
'ko' => 'Korean',
'it' => 'Italian',
'ru' => 'Russian',
),
'required' => false,
'placeholder' => 'Click to Choose Language..',
'attr' => array(
'id' => 'field',
'class' => 'controls',
'data-rel' => 'chosen'
)
))
->getForm();
我的枝条如下:
<form action="{{ path('test_test') }}" method="POST" {{ form_enctype(form) }}>
{{ form_widget(form.language, { 'attr': {'class': 'select2'} }) }}
</form>
我使用的javascript代码是:
<script type="text/javascript">
$('#field').change(function() {
$(this).closest('form').trigger('submit');
});
</script>
答案 0 :(得分:2)
你可以像这样使用Jquery submit函数:
jQuery(function($) {
$(".select2").change(function() { //put class or id of your select input
$('#id_of_your_form').submit();
});
});
编辑:
如果您使用的是select2插件(您有示例here):
jQuery(function($) {
$('.select2').select2()
.on("change", function(e) {
$('#id_of_your_form').submit();
})
});
然后你可以在你的Symfony Controller中发送POST数据,如下所示:
public function getDataAction(Request $request)
{
dump($request->request->get('name of your select input');exit;
}