2016-04-15 9 views
0

ich eine Vorlage habekann nicht Formular mit jQuery (Django) serialisiert

<form method="POST" action="{% url 'ajax_question' %}" role="form" id="question-form"> 
    {% csrf_token %} 
    {% for answer in answers %} 
     <div class="radio"><label name="answers-radio"> 
     <input type="radio" name="answers-radio" 
       value ="{{ answer.id }}">{{ answer.text }} 
     </label></div> 
    {% endfor %} 
    </form> 

(tatsächlich, es ist ein Teil der Vorlage, aber der Rest ist ein Ding wie block, extends usw.)

ich versuche, dieses Formular zur Serialisierung mit AJAX-Anforderung senden, aber diesen Code

$("#question-form").serialize() 

nicht richtig funktionieren, es gibt nur

csrfmiddlewaretoken=yYa3KW1pFWCAquX3FUsbMOHTfXE2z8g3

Form rendert richtig, ich sehe alle Radioelemente und andere Elemente.

+0

Wann werden die Formulardaten serialisiert? –

+0

in '

1

Wenn Sie das Formular auf Seite Last serialisiert, sind Sie nur Serialisierung die Anfangsdaten (weshalb Sie nur den csrf_token Wert bekommen). Stattdessen möchten Sie alle Felder serialisieren, die keine Werte haben, bis die Felder vom Benutzer ausgefüllt wurden und submit ausgelöst wird.

Sie müssen Ihr Formular leicht anpassen, um nicht sofort POST (Sie könnten die Aktion Url entfernen, wenn Sie planen, Ajax zu verwenden und diese URL in Ihre Ajax-Methode einfügen). Aber etwas wie das sollte für Sie arbeiten:

Verwandte Themen