【问题标题】:JQuery Serialize all form fieldsJQuery序列化所有表单字段
【发布时间】:2015-10-09 11:46:59
【问题描述】:

我在用这个

var data = $(":input,:submit", this).serializeArray();

尝试捕获表单数据,它确实适用于两个指定的元素。

我如何扩展它,以便我可以从 textarea、多选下拉列表和文件上传字段中获取选定的条目?

我试过了:

var data = $(":input,:submit,:file", this).serializeArray();

但是文件没有返回,我希望得到文件名。

在多个页面上调用相同的代码,有些带有文件或文本区域,有些则没有。每个页面上的表单都有不同的 ID,所以我正在使用:

$(this).on('submit', function(e) { 
    var data = $(":input,:submit", this).serializeArray();
}

知道如何让它工作吗?

谢谢

【问题讨论】:

  • 来自 DOC:Data from file select elements is not serialized. 您必须手动推送,但请注意有关虚假路径的安全原因
  • 我不需要任何路径信息,只需要上传的文件名。

标签: jquery forms serialization


【解决方案1】:

form 上使用serialize()

将一组表单元素编码为字符串以供提交。

var data = $(this).serialize(); // $(this) here is the `form` which is being submitted.

【讨论】:

  • 如果serializeArray() 不起作用,为什么serialize() 会起作用?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-11
  • 1970-01-01
  • 2011-08-01
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多