AJAX表单元素处理

AJAX form elements processing

本文关键字:处理 元素 表单 AJAX      更新时间:2023-09-26

这可能是我想做的一种愚蠢的方式,所以对于更大的问题,一个更优雅的解决方案绝对是值得赞赏的!但是,我遇到的具体问题是:

我正在处理与javascript的形式。表单结构如下:

  • 名称(文本,也是隐藏值)
  • 偏好(复选框):绿色,紫色(用户可以同时选中)
  • 时间(下拉菜单):上午,下午,午夜

<FORM> <SECTION> Jane Doe: <INPUT type="hidden" name="user[]" id="user[]" value="Jane_Doe" /> <INPUT type="checkbox" name="preference[]" id="preference[]" value="green" /> &nbsp; <INPUT type="checkbox" name="preference[]" id="preference[]" value="purple" /> <SELECT name="time[]" id="time[]"> <OPTION value="AM">AM</OPTION> <OPTION value="PM">PM</OPTION> <OPTION value="Midnight">Midnight</OPTION> </SELECT> </SECTION> <SECTION> John Jacob: <INPUT type="hidden" name="user[]" id="user[]" value="John_Jacob" /> <INPUT type="checkbox" name="preference[]" id="preference[]" value="green" /> &nbsp; <INPUT type="checkbox" name="preference" id="preference" value="purple" /> <SELECT name="time[]" id="time[]"> <OPTION value="AM">AM</OPTION> <OPTION value="PM">PM</OPTION> <OPTION value="Midnight">Midnight</OPTION> </SELECT> </SECTION> <INPUT type="button" Value="SUBMIT" onclick="function(form_script)"/> </FORM>

根据用户先前的操作,生成一个名称列表,需要填写Preference和Time。然后提交表单,并使用PHP编码根据用户的响应填充mySQL表。

我目前在如何用Javascript存储表单响应的损失。从编码中可以看到,每个<SECTION>包含完全相同的编码结构。理想情况下,我想将每个表单元素存储在一个数组中,(例如user['Jane_Doe', 'John_Jacob'])当表单提交时,并将其传递给php脚本。但是,我不确定如何从表单元素创建这些数组,并将感谢帮助。

我希望我的问题很清楚。

或者,如果有更好的方法来处理这个表单而不使用javascript数组,我肯定会对解决方案感兴趣!

假设表单的id为"form",要从表单中获取所有数据,您需要这样做(您需要包含jquery才能执行此操作):

var form_data = $("#form").serialize();