Ho riscontrato un problema nell'invio di un modulo con Ajax. Ho un modulo che voglio sostituire con un altro modulo in modo asincrono sul clic sul pulsante successivo.django ajax request
Ecco lo script
$(document).ready(function() {
$('#MY_FORM').submit(function() {
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
$('#FORM_DIV').html(response);
}
});
return false;
});
});
form.py
class CountyForm(forms.Form):
county = forms.ModelChoiceField(queryset=County.objects.all(),
empty_label='---Select a county---', required=False)
other = forms.CharField(required=False)
def __init__(self, *args, **kwargs):
super(CountyForm, self).__init__(*args, **kwargs)
self.helper = FormHelper(self)
self.helper.html5_required = True
self.helper.form_id = 'MY_FORM'
self.helper.add_input(Submit('next', 'Next', css_class='classfinish'))
self.helper.layout = Layout('county','other')
class WardForm(forms.Form):
ward = forms.ModelChoiceField(queryset=Ward.objects.all(),
empty_label='Select a ward')
other = forms.CharField()
def __init__(self, *args, **kwargs):
super(WardForm, self).__init__(*args, **kwargs)
self.helper = FormHelper(self)
self.helper.html5_required = True
self.helper.add_input(Submit('save', 'Finish'))
self.helper.add_input(Submit('cancel', 'Cancel'))
self.helper.layout = Layout('ward','other')
vista
def location(request):
if request.is_ajax() :
wardform = WardForm()
return HttpResponse(wardform)
countyform = CountyForm()
c = {}
c.update(csrf(request))
return render(request,'location.html', {'countyform': countyform})
voglio quando scatto pulsante accanto nella forma della contea, il modulo di corsia di apparire .
Qual è la tua domanda? Ti manca una citazione dopo '# FORM_DIV' però. –
Il tuo JS ha un errore di sintassi – Blender
@Pavel era un errore di battitura, grazie. – Alexxio