2013-10-16 37 views
1

目標是提交一個帶有兩個單選按鈕(tipo)和文本字段(數字)的POST表單,以在我的數據庫中進行查詢並向用戶顯示數據。爲什麼getMethod()返回「GET」而不是「POST」?

我想提交下面的表格,但是當我提交表單時,請求發出的請求是'GET REQUEST'。形式是 「SupuestoConfig.html.twig」:

<div id="cuadro"> 
<form id="configurador" action="{{ path('configsup') }}" method="POST"> 
    <p class="titulo_configurador">Elija supuesto penal:</p> 
     {{ form_row(form.tipo) }} 
    {{ form_row(form.numero, { 'label' : ' ', 'attr' : { 'class' : 'rec3' }}) }} 
     {{ form_rest(form) }} 
    <input type="submit" name="cargar" value="Cargar" class="inputbt"/> 
</form> 
</div> 

我使以前的形式 「principal.html.twig」:

{{ render(controller('PprsBundle:Default:SupuestoConfig'), {'strategy': 'inline'}) }} 

我 「Controller.php這樣」:

/** 
    * @Route("/pprs/principal/supuesto={numero_supuesto}", name="configsup") 
    * @Template("PprsBundle:Default:SupuestoConfig.html.twig") 
    */ 
    public function SupuestoConfigAction($numero_supuesto = null) 
    { 
     $form = $this->createFormBuilder(null) 
      ->add('tipo', 'choice', array(
            'choices' => array(
              'aleatorio' => 'Aleatorio', 
              'pornumero' => 'Por número'), 
            'multiple' => false, 
            'expanded' => true, 
            'data' => 'aleatorio' 
     )) 

     // This add may contains error 
     ->add('numero', 'text', array('label' => ' ','disabled' => true)) 
    ->getForm(); 

    $peticion = $this->getRequest(); 


echo ('<script type="text/javascript">alert ("'.$peticion->getMethod().'");</script>');// Returns 'GET' 

if ($peticion->isMethod('POST')) { 
    // Symfony2.2 
    $form->bind($peticion); 

    **$datos = $form->getData();** 


    *//foreach(array_keys($datos) as $p) { 
    //echo ('<script type="text/javascript">alert ("'.$datos.'");</script>'); 
    //}* 

    if ($form->isValid()) { ... } 

在Controller.php這樣,儘管從來就得到了一個GET請求(當我刪除行 ->add('numero', 'text',.. 從來就得到了一個POST請求,這是爲什麼?),在我的getData don'tg等文本字段。

最後,我的routing.yml:

pprs_principal: 
    pattern: /pprs/principal/supuesto={numero_supuesto}/ 
    defaults: { _controller: PprsBundle:Default:principal, numero_supuesto: 1 } 

_pprs_principal: 
    pattern: /pprs/principal/ 
    defaults: { _controller: FrameworkBundle:Redirect:redirect, route: pprs_principal } 

對不起我的英語不好,在此先感謝

編輯:

1)任何人知道爲什麼我得到GET請求,而不是當我在我的createFormBuilder中添加文本字段時POST?

2)任何人都知道爲什麼當我調用getData時,我不能獲取文本字段?

請幫助我......

回答

相關問題