如何生成所有输入名称的列表=“"使用Javascript/JQuery的表单中的字段

How to Generate a List of all Input name="" fields in a form with Javascript/JQuery

本文关键字:使用 quot Javascript 字段 表单 JQuery 何生成 输入 列表      更新时间:2023-09-26

我相信这个问题有一个简单的答案,但我是一个自学Javascript和JQuery的新手,我只是知道的不够多,无法自己解决。非常感谢您能提供的任何帮助。

我正在构建一个表单,根据表单用户输入的数百种不同输入为我的公司生成HTML电子邮件。与其将每个输入名称复制并粘贴到表单动作脚本中的$_POST行中以检索输入的数据,我想知道是否有一种方法可以使用Javascript/JQuery从表单上的每个输入中生成name="字段的列表,从而使这更容易?

例如,从下面的代码片段中,我如何自动生成一个列表,其中包含名称值"bottlespecial6image""bottlespecial 6imagewidth""、"bottlepecial6imageheight"、,和"bottlespecial6includeprice"(我的表单有数百(如果不是数千)个输入,因此复制/粘贴似乎效率低下):

<input type="text" name="bottlespecial6image" value=""/>
<input type="text" name="bottlespecial6imagewidth" value=""/>
<input type="text" name="bottlespecial6imageheight" value=""/>
<input type="text" name="bottlespecial6imagelink" value=""/>
<input type="radio" name="bottlespecial6includeprice" value="yes"  checked="checked" />
<input type="radio" name="bottlespecial6includeprice" value="no"  checked="checked" />

如果这里已经涵盖了这一点,我很抱歉——我在这里搜索了类似的问题,但什么都找不到。

要创建要提交的序列化数组,您可以使用jQuery的serialize()

$('form').serialize();

要获取数组中的名称,可以映射它们:

var inputs = $('form').find('input[name]'); //all inputs with a name in the form
var names  = $.map(inputs, function(el) { return el.name });

FIDDLE

$("[name='yourrequiredname']")

将为您提供相同名称的所有元素的列表