Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将动态文本框的值传递给现有隐藏字段_Javascript_Jquery - Fatal编程技术网

Javascript 将动态文本框的值传递给现有隐藏字段

Javascript 将动态文本框的值传递给现有隐藏字段,javascript,jquery,Javascript,Jquery,试图用一种简单的方式解释一些完全让我困惑的事情。我已经为此工作了9个多小时,现在准备拔出我的头发 我有一个表单,包含一个现有的隐藏元素和一些文本框 每个文本框都是一个模糊事件,用于创建特定div的inner.html,该事件根据输入的值添加多个文本框(请参见图像以了解详细信息) 用于生成文本框的代码如下所示: function generate6(count) { var i; for (i = 0; i < count; i++) { ch.innerHTML = ch.

试图用一种简单的方式解释一些完全让我困惑的事情。我已经为此工作了9个多小时,现在准备拔出我的头发

我有一个表单,包含一个现有的隐藏元素和一些文本框

每个文本框都是一个模糊事件,用于创建特定div的inner.html,该事件根据输入的值添加多个文本框(请参见图像以了解详细信息)

用于生成文本框的代码如下所示:

function generate6(count) {
  var i;
  for (i = 0; i < count; i++) {
    ch.innerHTML = ch.innerHTML + "Left Text (size 6):  <
      input type = 'text'
    class = 'txt'
    style = 'width:150px;margin-right:10px;'
    name = 'left' + i > ";

    ch.innerHTML = ch.innerHTML + "Right Text (size 6): <input type='text' 
    class = 'txt'
    style = 'width:150px;margin-right:0px;'
    name = 'right' + i > < br > ";
  }
}

function generate7(count) {
  var j;
  for (j = 0; j < count; j++) {
    ch7.innerHTML = ch7.innerHTML + "Left Text (size 7): <input type='text'
    class = 'txt'
    style = 'width:150px;margin-right:10px;'
    name = 'left' + j > ";
    ch7.innerHTML = ch7.innerHTML + "Right Text (size 7): <input type='text' 
    class = 'txt'
    style = 'width:150px;margin-right:0px;'
    name = 'right' + j > < br > ";
  }
}
函数生成器6(计数){
var i;
对于(i=0;i“;
ch.innerHTML=ch.innerHTML+“右文本(大小6):
”; } } 函数生成器7(计数){ var j; 对于(j=0;j”; } }
所有尺寸都会重复此操作,最大尺寸为14号

我在表单的“添加到购物车”按钮附近还有一个隐藏字段。我需要在提交表单之前将所有动态文本框的值传递到该隐藏字段中

在这一点上,我不在乎它是如何工作的,只在乎它是如何工作的。请帮助我。

您需要:

  • submit
    事件的事件处理程序附加到表单
  • 获取事件处理程序中的所有输入
  • 收集所有这些输入的值
  • 用这些值更新隐藏的输入
html


应该如何将多个输入的值放入隐藏字段?空格分隔?错误:您对每个大小使用的名称是left1-n和right1-n。您应该使用left7_1、left7_2、left11_1等。在这一点上我甚至不在乎。一个大的blob可以很好地工作-哈哈。我可以稍后修复它。但什么都不起作用。哦,我本来打算y并忽略名称,只需抓取所有动态输入文本并将其扔到隐藏字段中。我已经尝试了所有方法-我不明白为什么什么都不起作用。还不是100%清楚您遇到了什么问题。问题涉及模糊事件和隐藏表单字段,但代码似乎与文本字段的动态构造有关s、 您尝试的提交处理程序在哪里?我喜欢它,因此希望它能工作-但当我添加它时,它只是在提交表单时将隐藏字段留空。我做错了什么?我感觉这太接近了。我只是不明白为什么它不能工作。您能运行一些测试吗?在事件处理程序中:console.log('here');console.log($dynamicInputs);console.log(allDynamicInputs);没有显示任何内容。我不会轻易放弃。但老实说,这一点让我完全困惑。在它工作之前我无法入睡。有时我讨厌当程序员。如果没有显示任何内容,则意味着事件处理程序没有被触发。请确保您的表单具有正确的id($form不应为空),并确保表单()中有提交输入
<form id="myform">
  <input type="hidden" name="dynamicInputsCollector">
  <input id="dynamicInput1">
  <input id="dynamicInput2">
  <!-- etc.... -->
</form>
var $form = $('#form');
var $dynamicInputCollector = $('#dynamicInputsCollector');

//Attach event handler for 'submit' event
$form.on('submit', function(e) {
  var $dynamicInputs = $("#form :input");
  var allDynamicInputs;
  $dynamicInputs.each(function(dynamicInput) {
    //Concatenate all dynamicInpus into one string (with '-' here as an example)
    allDynamicInputs = allDynamicInputs + '-' + $(dynamicInput).val()
  });
  //Update the hidden field
  $dynamicInputCollector.val(allDynamicInputs);
});