Javascript 表单在提交前的多次使用

Javascript 表单在提交前的多次使用,javascript,jquery,django,forms,javascript-databinding,Javascript,Jquery,Django,Forms,Javascript Databinding,我是JavaScript新手,正在尝试找出执行以下操作的规范方法 我有一个带有一些复选框和选择器的表单。 假设复选框是音乐风格,选择器是人名 我希望用户能够为多人选择音乐风格,然后提交包含所有数据的表单 例如,用户可能首先勾选古典乐、爵士乐、摇滚乐和流行乐并选择“乔”,然后选择爵士乐、流行乐、乡村音乐和电子音乐并选择“简”。因此,“提交人”和“提交表单”必须有两个不同的按钮 我想: 在表格下方填写姓名及其所选样式的列表,以供反馈 允许用户尽可能多地使用表单,然后在最后提交所有数据 我觉得使用jq

我是JavaScript新手,正在尝试找出执行以下操作的规范方法

我有一个带有一些复选框和选择器的表单。 假设复选框是音乐风格,选择器是人名

我希望用户能够为多人选择音乐风格,然后提交包含所有数据的表单

例如,用户可能首先勾选古典乐、爵士乐、摇滚乐和流行乐并选择“乔”,然后选择爵士乐、流行乐、乡村音乐和电子音乐并选择“简”。因此,“提交人”和“提交表单”必须有两个不同的按钮

我想:

  • 在表格下方填写姓名及其所选样式的列表,以供反馈
  • 允许用户尽可能多地使用表单,然后在最后提交所有数据
  • 我觉得使用jquery和JSON非常适合这样做,但我不确定使用什么搜索术语来找出如何做到这一点


    如果有必要,表单将由Python中的Django视图处理。

    您可以通过使用AJAX for submit person来实现这一点。您的工作流程应如下所示:

  • 用户选择乔和相应的音乐风格
  • 用户点击“提交人”。在这个事件中,将人名(Joe)和所选音乐风格编码到JSON对象中,并通过AJAX()请求将其传递给后端脚本
  • 服务器端脚本可以执行它需要的任何处理。完成后,将调用AJAX调用的成功处理程序。此时,您可能可以删除“Joe”,这样用户就知道提交成功,不再为Joe提交
  • 清洗,漂洗,对你身体里的其他人重复
  • PS—当您通过AJAX将信息传递到后端时,不必将其编码为JSON。您可以将其作为标准POST请求发送。要将Javascript对象编码为JSON,请使用

    以上是一种方法,但是它不会像您在问题中所问的那样工作(继续收集数据-立即提交),因此,每次用户点击“提交人”,将数据添加到Javascript对象,但不要提交数据。提交的数据将在JS对象中不断累积


    最后,当用户点击“提交表单”时,将数据字符串化并提交。

    使用django表单向导如何。。够了吗

    您需要支持非JS浏览器吗?(通常约占所有web用户的2%)另外,您是否需要支持移动浏览器(手机、平板电脑)?不需要支持非js浏览器或移动设备。只是好奇,选择器中可以列出多少人?大约有20个“人”,用户无需为所有人进行选择。