javascript - Django 和 Ajax - 提交表单集

标签 javascript jquery ajax django

我在尝试通过 Ajax 提交表单集时遇到问题。我正在做的一些信息是,用户输入一个单词,然后通过 Ajax 我获取它的长度,并根据该数字生成一个表单集。然后我用 for 循环打印出来,每个表单都有一个有效的按钮,它应该提交特定的格式来验证它。所以它为每个按钮提交一个表单。这是我的代码:

<div id="example1" type="hidden">
  {{ exampleForm.management_form }}
      {% for form in exampleForm %}
          <form onsubmit="return false;" method="GET" id="{{ form.prefix }}" >
          ( {{ form.letterOfWord }} + {{ form.keyToUse }} ) MOD 26 =
            {{ form.letterToFill }} <button name="action" id="validateButton" value="validate"> Validate </button>  <br>
          </form>

      {% endfor %}

还有我的 JavaScript 文件:

  $("#validateButton").on({
  click : function() {
    // var variable = document.getElementById('id_plaintext');
    // console.log(variable.value)
    console.log("Inside validate button function")
    var serializedData = $('form').serialize();
    console.log(serializeData);
    $.ajax( {
      url: "/exampleCaesar",
      type : "GET",
      data: { CSRF: 'csrf_token',
              serializedData
      },

      success : function(exampleData) {

      console.log(exampleData)


      }

    }); //END OF Ajax
  } //END OF FUNCTION


 }); //END OF validateButton

问题是,当我单击任何验证按钮时,不会提交任何内容。我知道这一点是因为我在 javascript 中有一个 console.log 来知道它何时进入。如果没有打印出来,那么它实际上并没有进入。

有什么建议吗?为此我一整天都伤透了脑筋。谢谢

最佳答案

您有多个 ID validateButton 。这可能是您问题的根源。据我所知,或者猜测,在这种情况下,jquery 只会在第一个表单的第一个按钮上触发。

此外,我不确定当您使用此代码时 jquery 是否会序列化正确的形式

var serializedData = $('form').serialize();

同样,您有多个 form在你的html中

此外,managment_form应该在 <form> 内,否则它不会被发送到 Django。查看文档 https://docs.djangoproject.com/en/1.9/topics/forms/formsets/#using-a-formset-in-views-and-templates

关于javascript - Django 和 Ajax - 提交表单集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34908696/

相关文章:

php - 将 jquery ajax 数组传递给 php 不起作用

javascript - jQuery 不发布数据

javascript - 如何在页面加载完成时发出 AJAX 请求,由 window.location.href 触发

jquery - 如何使用 jQuery 进行标签切换

jquery - 每 10 秒发射一次

javascript - jQuery:查找被单击对象的父级中选中的子级的数量

javascript - D3 格式问题

javascript - 我可以使用 JavaScript 或 HTML 打开 IE 10 兼容性 View 吗?

javascript - nodejs - jsdom 模块在 require 期间返回 isContext() 错误

javascript - 使用复选框更新每个动态行的状态