Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如果一个页面上有3个不同的表单,如何使用ajax发送表单?_Django - Fatal编程技术网

Django 如果一个页面上有3个不同的表单,如何使用ajax发送表单?

Django 如果一个页面上有3个不同的表单,如何使用ajax发送表单?,django,Django,我有3个与表单弹出框主页。如果一个页面上有3个表单,如何使用ajax发送表单 对于每页一张表格,我有如下内容: def index(request): user = request.user websites = Website.objects.all() form = WebsiteModelForm(request.POST, request.FILES) if request.method == "POST" and request.is_ajax():

我有3个与表单弹出框主页。如果一个页面上有3个表单,如何使用ajax发送表单

对于每页一张表格,我有如下内容:

def index(request):
    user = request.user
    websites = Website.objects.all()
    form = WebsiteModelForm(request.POST, request.FILES)
    if request.method == "POST" and request.is_ajax():
        if form.is_valid():
            obj = form.save(commit=False)
            obj.user = request.user
            obj.save()
            form.save_m2m()
            status = "ok"
            return HttpResponse(status)
        else:
            return render_to_response('index.html', {'form': form, 'websites': websites}, context_instance=RequestContext(request))
    else:
        form = WebsiteModelForm()
        return render_to_response('index.html', {'form': form, 'websites': websites}, context_instance=RequestContext(request))
jquery:

$('#demo').submit(function(event) {
  var $form = $(this);
  var serializedData = $form.serialize();
  $.post('/', serializedData, function(response) {
    alert("Done");
    ....

如果您需要发布表单的3个url,则变体:

  • 向每个窗体添加操作路径。并为每个表单添加一个公共类
  • 二,

    $('.form_post').submit(function(event) {
        var $form = $(this);
        var serializedData = $form.serialize();
        $.post($form.attr('action'), serializedData, function(response) {
            alert("Done");
            ....