当前位置:  开发笔记 > 编程语言 > 正文

如何使用Jquery的AJAX提交复杂的表单?

如何解决《如何使用Jquery的AJAX提交复杂的表单?》经验,为你挑选了2个好方法。

我正在尝试使用Jquery的ajax提交表单.它有一些文本框,一些复选框和多个选项的下拉菜单(即可以选择多个选项).

这里有人告诉我,我可以使用所有选中的复选框的值

$("input:checkbox[name=type]:checked")

然后我可以遍历上面代码返回的所有值,将它们分配给这样的数组:

var types=new Array();

    $.each(cboxes, function()
      {
         types[types.length]=$(this).val();
      }
    );

并尝试使用以下方式提交表单:

var someField=$("#someField").val();
var someField2=$("#someField2").val();
var data={field1 : someField, field2=someField2, s_types:types};
$.post("signup.php?type=p",types);

但这不起作用,特别是复选框无法正确提交.我怎样才能使它工作?



1> Danita..:

没有必要迭代每个字段来获取表单值.jQuery有一个方法将表单输入序列化为查询字符串.你可以这样做:

$.ajax({
  url: "mybackend.php",
  data: $("#myForm").serialize(),
  success: function(e) { // do something on success },
  error: function(e) { // do something on error }
});

请记住,javascript帖子总是以UTF-8格式发送数据,因此如果您计划发送带有国际字符的文本,请确保在后端期望这样做.



2> kgiannakakis..:

我建议使用插件来做到这一点.看看这个表单插件.它还可以与验证插件很好地集成.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有