jQuery.ajax - 提交表单中的所有元素而无需手动输入

Joh*_*han 29 javascript forms ajax jquery

我想使用jQuery.ajax使用POST提交表单,而无需在"data:"部分手动指定所有内容.

这是我不想要的:

data:   "username=" + document.getElementById("username").value + 
    "&email=" + document.getElementById("email").value,
Run Code Online (Sandbox Code Playgroud)

有没有办法让它包含alla元素及其整个FORM字段的值?这个表单是动态生成的,这样可以节省很多时间!

Sol*_*ogi 84

使用序列化方法.

data :   $("form").serialize()
Run Code Online (Sandbox Code Playgroud)

  • 使用`:input`选择器:`$("#form:input").serialize()` (3认同)
  • 不要忘记为每个输入元素命名。 (2认同)

Dyk*_*kam 9

请查看http://docs.jquery.com/Ajax/serialize.

这将产生以下示例:

$("#submit").click(function() {
    $.ajax({
        data: $("form").serialize(),
        ...rest
    });
});
Run Code Online (Sandbox Code Playgroud)