首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在javascript中动态生成表单--但添加的每个新字段都会丢失先前字段的值

在JavaScript中动态生成表单,但添加的每个新字段都会丢失先前字段的值,可以通过以下步骤解决该问题:

  1. 创建一个表单元素,可以使用document.createElement('form')方法来创建一个新的表单元素。
  2. 给表单元素设置一个唯一的ID,可以使用form.id = 'myForm'来设置ID。
  3. 在表单元素中添加需要的字段,可以使用document.createElement('input')方法来创建新的输入字段。
  4. 给每个字段设置一个唯一的名称和类型,可以使用input.nameinput.type属性来设置名称和类型。
  5. 给每个字段添加一个事件监听器,当字段的值发生变化时,将其值存储到一个对象中。
  6. 在表单元素中添加一个按钮,用于提交表单。
  7. 给按钮添加一个点击事件监听器,在点击按钮时,将存储的字段值提交到服务器或进行其他操作。

下面是一个示例代码:

代码语言:txt
复制
// 创建表单元素
var form = document.createElement('form');
form.id = 'myForm';

// 存储字段值的对象
var fieldValues = {};

// 添加字段
function addField() {
  var input = document.createElement('input');
  input.type = 'text';
  input.name = 'field' + Object.keys(fieldValues).length;
  input.addEventListener('input', function() {
    fieldValues[input.name] = input.value;
  });
  form.appendChild(input);
}

// 添加按钮
var submitButton = document.createElement('button');
submitButton.textContent = '提交';
submitButton.addEventListener('click', function() {
  // 提交表单的逻辑
  console.log(fieldValues);
});
form.appendChild(submitButton);

// 添加字段按钮
var addButton = document.createElement('button');
addButton.textContent = '添加字段';
addButton.addEventListener('click', addField);
form.appendChild(addButton);

// 将表单添加到页面中
document.body.appendChild(form);

这个示例代码中,每次点击"添加字段"按钮时,会动态添加一个新的输入字段,并且在输入字段的值发生变化时,会将其存储到fieldValues对象中。当点击"提交"按钮时,会将存储的字段值打印到控制台。

推荐的腾讯云相关产品:腾讯云云函数(Serverless Cloud Function),它是一种无需管理服务器即可运行代码的计算服务,可以用于处理表单提交等场景。详情请参考腾讯云云函数产品介绍:腾讯云云函数

相关搜索:angular 7 reactive forms:为表单中的每个输入字段动态添加/删除输入字段如何使用javascript在html中根据其他字段的值填充表单字段如何在添加新的yii2动态表单时不重复输入字段的值?如何使用以前的字段值在表单中动态创建在javascript中的每个索引上向json对象添加新字段如何使用jquery在表单提交中添加对字段值的编辑如何为html页面中的文本字段设置值,以便使用表单django动态生成复选框字段?如何在新CE表单编辑器中添加字段值更改时的JavaScript事件?在JavaScript中,如何将收集到的表单字段值分配给新对象如何使用Javascript或ajax在文本字段中实时注入或添加输入字段的值?在html表单JavaScript中访问文本输入字段的值的最简单方法?将分数添加到用户在表单中填写的每个输入字段并显示它在flask python中动态生成html格式的列表,而无需指定ul或tr中的每个字段如何自动增加输入字段(type=text)中的值,该值是在单击按钮时动态添加的?Django:如何在不丢失管理表单的情况下,在<p> (或任何其他)元素中包含每个字段的情况下呈现表单?如何将新值添加到文本表单字段中的文本编辑器控制器?我在PHP表单中添加了新的输入字段,但它不再将数据发送到SQL server。有没有更好的方法为tibble中的每个键(sym)添加一个新的值/字段,而不是使用mutate然后使用pivot_longer?向循环内动态生成的DIVs添加一个click事件,该循环显示一个弹出窗口,其中每个DIVs在Javascript中具有不同的文本
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券