Javascript 获取具有相同名称的表单输入 //等

Javascript 获取具有相同名称的表单输入 //等,javascript,jquery,forms,Javascript,Jquery,Forms,我的表单有许多同名字段 我希望在JS中运行表单,获取标题、关键字和alt值,并将它们附加到我的表单数据对象中,然后将我的图像添加到表单数据对象中,并保存图像及其元数据服务器端 我的问题是获取表单输入值。最好是对表单进行序列化,还是只循环dom元素?我该怎么做 因此,我需要: 获取第一个标题、alt、关键字字段-如何获取 附加到formData,并将其归档并发送到服务器-我可以完成这一点 获取第二个标题、alt、关键字字段-如何获取 附加到formData,并将其归档并发送到服务器-我可以完成这一

我的表单有许多同名字段

我希望在JS中运行表单,获取标题、关键字和alt值,并将它们附加到我的表单数据对象中,然后将我的图像添加到表单数据对象中,并保存图像及其元数据服务器端

我的问题是获取表单输入值。最好是对表单进行序列化,还是只循环dom元素?我该怎么做

因此,我需要:

  • 获取第一个标题、alt、关键字字段-如何获取
  • 附加到formData,并将其归档并发送到服务器-我可以完成这一点
  • 获取第二个标题、alt、关键字字段-如何获取
  • 附加到formData,并将其归档并发送到服务器-我可以完成这一点

  • 等等…

    document.getElementsByName(“title[])
    <form id="file-upload">
      <input type="text" name="title[]" placeholder="Title">
      <input type="text" name="alt[]" placeholder="Alt">
      <input type="text" name="keywords[]" placeholder="Keywords">
    
      <input type="text" name="title[]" placeholder="Title">
      <input type="text" name="alt[]" placeholder="Alt">
      <input type="text" name="keywords[]" placeholder="Keywords">
      //etc
    </form>
    

    在jQuery中,这很好:

    document.getElementsByName("title[]")[0];    // first title
    
    尽管您肯定应该缓存选择器:

    var firstTitle = $("[name='title[]']")[0].value;
    

    我做了一些挖掘,创造了这个小提琴。希望能有帮助

    var titles = $("[name='title[]']");
    var firstTitle = titles[0].value;
    var secondTitle = titles[1].value;
    
    var values=$(“输入[name='title\\[\\]']).map(函数(){return$(this.val();}).get();
    $(“标题[0]:“+值[0]+”)。附加到(“#结果”);
    $(“标题[1]:“+值[1]+”)。附加到(“#结果”);
    $(“标题[2]:“+值[2]+”)。附加到(“#结果”);
    


    尝试使用(map)函数,这是制作数组的最佳方法

    谢谢,我如何在jquery中执行此操作并获取值。我尝试过:$('[name=“title[]”“]')[0].val(),但运气不好。请先尝试自己,然后询问遇到的具体问题。尝试添加代码示例,也许可以直接帮助解决他们的问题?
    var values = $("input[name='title\\[\\]']").map(function(){return $(this).val();}).get();
    
    $("<div>title[0]:"+values[0]+"</div>").appendTo('#results');
    $("<div>title[1]:"+values[1]+"</div>").appendTo('#results');
    $("<div>title[2]:"+values[2]+"</div>").appendTo('#results');