Javascript 将动态文本框的值传递给现有隐藏字段
试图用一种简单的方式解释一些完全让我困惑的事情。我已经为此工作了9个多小时,现在准备拔出我的头发 我有一个表单,包含一个现有的隐藏元素和一些文本框 每个文本框都是一个模糊事件,用于创建特定div的inner.html,该事件根据输入的值添加多个文本框(请参见图像以了解详细信息) 用于生成文本框的代码如下所示:Javascript 将动态文本框的值传递给现有隐藏字段,javascript,jquery,Javascript,Jquery,试图用一种简单的方式解释一些完全让我困惑的事情。我已经为此工作了9个多小时,现在准备拔出我的头发 我有一个表单,包含一个现有的隐藏元素和一些文本框 每个文本框都是一个模糊事件,用于创建特定div的inner.html,该事件根据输入的值添加多个文本框(请参见图像以了解详细信息) 用于生成文本框的代码如下所示: function generate6(count) { var i; for (i = 0; i < count; i++) { ch.innerHTML = ch.
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
- 获取事件处理程序中的所有输入
- 收集所有这些输入的值
- 用这些值更新隐藏的输入
应该如何将多个输入的值放入隐藏字段?空格分隔?错误:您对每个大小使用的名称是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);
});