【问题标题】:Reset values in a particular table which are edited on click of Reset button重置特定表中的值,这些值通过单击“重置”按钮进行编辑
【发布时间】:2011-11-23 11:48:55
【问题描述】:

在 HTML 页面上,我有三个部分和 3 个表格。每个table 都有自己的Reset 按钮,它应该只重置它需要的部分。不幸的是,我对所有三个表单都使用了相同的表单,如果创建 3 个单独的表单,则需要进行很多更改。

有没有办法以这种方式仅重置页面的特定部分?

【问题讨论】:

  • 或者,如果有人可以解释 form.reset() 的工作原理,我认为只能修改它以重置选择字段
  • Form.reset 清除表单内的所有字段 - 如果您想使用 form.reset() 来完成,您必须制作 3 个单独的表单。另一个独奏是使用 javascript 清除字段。需要示例吗?
  • 我知道有一种方法可以通过迭代来清除每个字段类型,但是这种重置会完全清除现有值,而不是“仅修改”值

标签: javascript html reset


【解决方案1】:

form.reset() 是浏览器内置的,无法修改其行为。

另一种方法是用 javascript 编写自己的代码来重置每个表的字段,如下所示:

function resetInput1(e){
    document.getElementById('input1').value = document.getElementById('input1').defaultValue;
}
function resetInput2(e){
    document.getElementById('input2').value = document.getElementById('input2').defaultValue;
}

document.getElementById("btn1").addEventListener('click', resetInput1, true);
document.getElementById("btn2").addEventListener('click', resetInput2, true);

Example fiddle here

【讨论】:

【解决方案2】:

在这里你可以编写一个 javascript 方法来重置你的部分中所有可用的元素,并在点击重置按钮时调用该函数,使用 form.reset 将重置整个表单。

否则,您可以在一个页面上有多个表单,并将您的重置按钮放在每个表单中并重置。

如果您使用的是 .net,则同一页面上不能有多个表单。为此,您将不得不禁用/隐藏其他表单。

// 在你对我的帖子发表评论之后

在这里你可以将默认值存储在隐藏字段中,这意味着我的每个元素都将有一个隐藏字段,默认值将存储在其中。

当用户更改文本框中的任何文本时,更改下拉列表中的索引,取消选中某些复选框等,然后点击重置按钮

您将调用一个 javascript 函数,它将隐藏字段中的值设置回相应的控件。这将节省您与服务器的往返行程,以便从数据库中获取默认详细信息。

否则您可以使用 ajax 方法将默认值重新绑定到 html 表单上的元素。 我在这里特别提到了 Ajax 方法,因为如果我们再次发回网页,它将重置您在其他部分中的所有值。

希望这是一个清晰的解释。

【讨论】:

  • 这是你指的javascript-coder.com/javascript-form/…我需要重置为每个元素的“默认值”
  • 默认值意味着,它是每个元素的静态数据,还是从数据库中检索的值?
  • 您可以调用一些 ajax 方法并在单击重置按钮时将值重置为原始值并将数据绑定到每个元素。
  • 正是我想将该字段重置为默认值而不是清空
猜你喜欢
  • 2020-08-19
  • 2015-06-25
  • 1970-01-01
  • 2021-01-03
  • 1970-01-01
  • 2021-01-21
  • 1970-01-01
  • 1970-01-01
  • 2021-05-01
相关资源
最近更新 更多