Ich habe ein Problem beim Senden eines Formulars mit Ajax. Ich habe ein Formular, das ich mit einem anderen Formular asynchron beim Klicken auf die nächste Schaltfläche ersetzen möchte.django ajax Anfrage
Hier das Skript
$(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')
Ansichten
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})
I will, wenn ich nächste Schaltfläche in der Kreisform klicken, um die Station Form zu erscheinen .
Was ist Ihre Frage? Sie verpassen jedoch ein Zitat nach '# FORM_DIV'. –
Ihr JS hat einen Syntaxfehler – Blender
@Pavel war ein Tippfehler, danke. – Alexxio