【问题标题】:symfony send form request without submitsymfony 发送表单请求而不提交
【发布时间】:2016-08-04 12:13:57
【问题描述】:

我想只使用选择类型发送请求,并且没有提交按钮,我尝试使用 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>

【问题讨论】:

  • 你能检查一下change事件是否被触发
  • 你在使用 select2 插件吗? (select2.github.io/examples.html)
  • 好的,请在我的回答中查看我的编辑

标签: javascript php forms symfony


【解决方案1】:

你可以像这样使用 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 控制器中发送 POST 数据:

public function getDataAction(Request $request)
{
   dump($request->request->get('name of your select input');exit;
}

【讨论】:

  • 我测试了,也没有结果,表单if,我可以像那样添加它
    ??
  • 是的,你可以然后通过这个改变jquery选择器
  • 不工作
  • 有你的选择输入.select2类吗?
  • {{ form_widget(form.language, { 'attr': {'class': 'select2'} }) }}
猜你喜欢
  • 1970-01-01
  • 2021-10-12
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
  • 1970-01-01
  • 2020-11-08
  • 2021-06-11
  • 2020-04-18
相关资源
最近更新 更多