2009-08-08 6 views
1

Ich weiß nicht, wie krank sagen, aber ich habe ein Formular, in dieser Form ich versuche, einige Felder mit jquery (dynamisch ??) Klicken Sie auf ein Optionsfeld, so , wenn ich versuche, die Daten zu senden, sagte Django, dass die Felder leer sind ... und im debuger (Fehlerseiten ??) ist Tru, die Felder sind leer, aber die Felder von meinem Form.py sie nicht.django + jquery + und dynamische Form, Felder gesendet leer

ich bin neu mit Django, aber ich denke, wenn die Felder in die Daten werden senden ... gut Django ist eine große Welt.

Form.py

class DiligenciaForm(ModelForm): 
""" this is my unhidden form with the radios buttons """ 

    titulo = forms.CharField(max_length=70,help_text='Dele un nombre a su diligencia.') 
    tipo = forms.ChoiceField(choices=TIPO) 
    vias= forms.TypedChoiceField(widget=forms.RadioSelect(), choices=CHOICES) 

    class Meta: 
     model = Diligencia 
     #exclude =('socio','secuencia','ffin','fecha','fentrada','status') 
     fields = ('titulo', 'tipo','vias') 


#now the hidden form's that i want to render (append) to the first Form 

class UnaViaForm(forms.Form): 
""" i want with jquery show this form (append to) """ 
    Desde = forms.CharField(max_length=100) 
    Hasta = forms.CharField(max_length=100) 

View.py

von diligencia.account.forms importieren DiligenciaForm, UnaViaForm

@login_required 
def test(request): 
    form = NuevaDiligenciaForm() 
    form_1_via = UnaViaForm() 

    return render_to_response('account/vias-form.html', { 'formulario':form,'UnaVia':form_1_via }, 
                  context_instance = RequestContext(request)) 

gut ist einige seltsame Art und Weise: in meiner Vorlage Ich habe diesen Code:

<div id="Una_via"> {{ UnaVia.as_p }} </div> 

and the jquery: 
$(document).ready(function(){ 

    $("#Una_via").css("display","none"); 

    $("input[name=vias]").click(function(){ 
     var radio = $("input[name='vias']:checked").val(); 
     if(radio == 1){ 
      $("#Una_via").show("fast"); 
     }else{ 
      $("#Una_via").hide("fast"); } 
    }); 
    }); 
+0

Können Sie fügen Sie Ihre jQuery-Code. Wo Sie den Anhang der Elemente an das Formular anfügen. – redsquare

+0

Sie sollten den HTML-Code Ihrer Seite posten – googletorp

Antwort

1

Unter der Annahme, dass diese Form POSTs zurück zu der gleichen Ansicht, Sie vergessen, Ihre Formulare an die POST-Daten zu binden:

def test(request): 
    data = request.method == 'POST' and request.POST or None 
    form = NuevaDiligenciaForm(data=data) 
    form_1_via = UnaViaForm(data=data)