pip install django-remote-forms python from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt from remote_forms import RemoteForm python @csrf_exempt def dynamic_form(request): form = RemoteForm(request.POST or None) if request.method == 'POST': if form.is_valid(): return JsonResponse({'success': True}) else: errors = form.errors.as_json() return JsonResponse({'success': False, 'errors': errors}) else: return JsonResponse({'success': False, 'errors': 'Invalid request method'}) python from django.urls import path from .views import dynamic_form urlpatterns = [ path('dynamic-form/', dynamic_form, name='dynamic_form'), ] html <form id="dynamicForm" method="POST" action="{% url 'dynamic_form' %}"> {% csrf_token %} {{ form.as_p }} <button type="submit">Submit</button> </form> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $('#dynamicForm').on('submit', function(event) { event.preventDefault(); var form = $(this); $.ajax({ type: form.attr('method'), url: form.attr('action'), data: form.serialize(), success: function(response) { if (response.success) { alert('Form submitted successfully'); } else { alert('Form submission failed: ' + response.errors); } }, error: function(xhr, textStatus, errorThrown) { alert('Form submission error: ' + errorThrown); } }); }); </script>


上一篇:
下一篇:
切换中文