2014-09-04 147 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