2014-09-04 142 views
0

我使用的是Symfony框架,我想创建一个没有提交按钮的表单。Symfony表格:避免提交按钮

我更好地解释自己:我有一个简单的形式,类似下面的一个:

 $form = $this->createFormBuilder($defaultData); 
     $form->add($fieldname, 'choice', array(
      'choices' => array( 
       '3' => 'label_3', 
       '2' => 'label_2', 
       '1' => 'label_1', 
       '0' => 'label_0', 
      ), 
      'expanded' => false, 
      'label'  => 'choice', 
     )); 
     $form->add('send', 'submit', array(
      'label'  => 'send' 
     )); 

有没有一种方法,以避免“提交”按钮? 产生的行为,我想执行的是:
- 用户选择所需的选项
- 单击时,数据立即被

我搜索的Symfony的手动控制器提交和处理,但我没找到一些可能适合的东西。 任何人都可以帮助我吗? (我甚至可能有这样的行为?)
在此先感谢。

+7

如果你不想提交按钮,为什么你将它添加到代码中? – xdazz 2014-09-04 09:14:09

+0

我刚刚显示了我现在使用的**。这是一个稳定的工作解决方案。作为一种改进,我希望具有相同的功能**而不需要提交按钮。 – Alberto 2014-09-04 11:45:51

+0

我可以从回答中得出什么结果,你要实现,但要小心,没有提交按钮违反了一些主要'UX'模式,你的用户可能很容易结束困惑/沮丧......想想它:) – 2014-09-04 14:34:25

回答

2

你必须通过JavaScript这样做:

$('#formFieldId').change(function(){ 
    $(this).closest('form').trigger('submit'); 
}); 
+1

感谢您的“ .closest“函数,不知道应该用多种形式非常有用:) – 2014-09-04 09:19:28

0

你应该使用JavaScript尝试这样的:

jQuery().ready(function() { 

     // for example your fieldname id is "field" 
     jQuery("#field").change(function(){ 

       jQuery('form').submit(); 

     }); 
    }); 

你不必须把您的表单提交按钮的方式,标准的方法是在twig文件中包含按钮的html