2016-08-04 21 views
1

Ich mag Anfrage senden nur Wahl Typen verwenden, und ohne Absenden-Button, habe ich versucht, mit Javascript, aber kein Ergebnissymfony Sendeformular Anfrage ohne einreichen

Meine Form Code:

$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(); 

Mein Zweig ist als folgt:

<form action="{{ path('test_test') }}" method="POST" {{ form_enctype(form) }}> 
      {{ form_widget(form.language, { 'attr': {'class': 'select2'} }) }} 
</form> 

Der JavaScript-Code, i verwendet:

<script type="text/javascript"> 
    $('#field').change(function() { 
     $(this).closest('form').trigger('submit'); 
    }); 
</script> 
+0

können Sie prüfen, ob das Änderungsereignis ausgelöst wird –

+0

Nein, es ist nicht ... – Nad

+0

Verwenden Sie das select2-Plugin? (https://select2.github.io/examples.html) – DOZ

Antwort

2

können Sie Jquery verwenden submit Funktion wie folgt aus:

jQuery(function($) { 
    $(".select2").change(function() { //put class or id of your select input 
     $('#id_of_your_form').submit(); 
    }); 
}); 

EDIT:

Wenn Sie select2 verwenden Plugin (Sie Beispiele haben here):

jQuery(function($) { 
    $('.select2').select2() 
    .on("change", function(e) { 
      $('#id_of_your_form').submit(); 
    }) 
}); 

Und dann Sie kann POST-Daten senden in Ihrem Symfony Controller wie folgt:

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

Ich testete das, kein Ergebnis auch, die Form, wenn, kann ich es so hinzufügen

?? – Nad

+0

ja Sie können und dann jQuery-Selektor dieses – DOZ

+0

es funktioniert nicht – Nad