gpt4 book ai didi

javascript - jQuery Trigger Reset Only 重置一些表单

转载 作者:行者123 更新时间:2023-11-29 21:45:44 25 4
gpt4 key购买 nike

我的页面上有许多动态添加的表单,我有一个按钮,我想触发重置页面上除一个之外的所有表单。

一个动态添加表单的例子是:

<form>
<label for="code">Question code:</label>
<input type="text" id="code" name="code" maxlength="25" class="used"/>

<div class="clear"></div>

<label for="title">Question:</label>
<input type="text" name="titl" name="title" maxlength="255" class="used"/>

<div class="clear"></div>

<label for="hint">Hint:</label>
<input type="text"id="hint" name="hint" class="used"/>

<div class="clear"></div>

<input type="hidden" name="type" value="tapper" class="used">
<input type="hidden" name="optionsType" value="none" class="used">
<input type="reset" value="Cancel" class="delete-button">
<input type="button" value="Add" class="action-button" onclick="pushQuestion(this);">
</form>

此外,在动态添加每个表单后,我调用:

$('form').on('submit', function (e) {e.preventDefault()});

现在,当我想重置表单时,我调用以下命令:

$('form').trigger('reset');

将其输入控制台时,我得到一个包含所有 DOM 表单的数组。一些表格被重置,但其他表格不受影响。没有报告错误。有没有人想过为什么有些人会被重置而有些人不会?

编辑 感谢您的帮助,但问题已解决。请在下面的评论中查看问题

最佳答案

经过几个小时的修修补补,发现问题出在表单的克隆方式上。

我正在对现有表单进行深度克隆,这会产生表单的奇怪状态,这意味着当 .trigger('reset') 被“触发”时,它将重置表单到克隆的默认状态,它可能包含也可能不包含一些原始数据,从而产生似乎没有做任何事情的重置。

解决方法是首先使用 .attr(value,'') 在所有输入上触发一个循环,以在克隆后清除属性值。然后 .trigger('reset') 按预期运行。

关于javascript - jQuery Trigger Reset Only 重置一些表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31280391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com