django + jquery + и динамическая форма, поля отправлены пустыми - PullRequest
1 голос
/ 08 августа 2009

Я не знаю, как плохо сказать это, но у меня есть форма, в этой форме я пытаюсь добавить некоторые поля с jquery (динамический ??), нажав переключатель, поэтому, когда я пытаюсь отправить данные, django сказал что поля пусты ... а в отладчике (страницы ошибок ??) есть истина, поля пустые, но поля из моего Form.py у них нет.

Я новичок в Django, но я думаю, что если поля будут в полях, данные отправят ... ну, Django - это большой мир.

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

из diligencia.account.forms import 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))

Ну, это какой-то странный способ: в моем шаблоне у меня есть этот код:

<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"); } 
    });
  });

1 Ответ

1 голос
/ 10 августа 2009

Предполагая, что эта форма возвращает POST к тому же представлению, вы забыли привязать свои формы к данным POST:

def test(request):
    data = request.method == 'POST' and request.POST or None
    form = NuevaDiligenciaForm(data=data)
    form_1_via = UnaViaForm(data=data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...