在HTML页面上,我有三个部分,包含3个表格。每个table
都有自己的Reset
按钮,该按钮只能重置所需的部分。不幸的是,我对所有这三种形式使用了相同的形式,如果创建了3个单独的形式,则需要做出很多改变。
有没有办法以这种方式只重置页面的特定部分?
答案 0 :(得分:1)
这里你可以编写一个javascript方法来重置你部分中可用的所有元素,并在点击重置按钮时调用该函数,使用form.reset将重置整个表单。
否则您可以在页面上放置多个表单并将重置按钮放在每个表单中并重置。
如果您使用的是.net,则在同一页面上不能有多个表单。为此,您必须禁用/隐藏其他表单。
//在你对我的帖子发表评论之后
这里你可以将默认值存储在隐藏字段中意味着我的每个元素都将有一个隐藏字段,其中将存储默认值。
当用户更改文本框中的任何文本时,更改下拉列表中的索引,取消选中某些复选框等,然后点击重置按钮
你将调用一个javascript函数,它将隐藏字段中的值设置回相应的控件。这将节省您与服务器的往返,以从数据库中获取默认详细信息。
否则你可以使用ajax方法将默认值重新绑定到html表单上的元素。 我在这里特别提到了Ajax方法,因为如果我们再次回发网页,它将重置其他部分中的所有值。
希望这是一个明确的解释。
答案 1 :(得分: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);