为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript - 当函数设置时如何更改表单中的值

Javascript - 当函数设置时如何更改表单中的值

蝴蝶刀刀 2023-07-29 16:52:49
我使用的 HTML 表单的输入范围为 1 到 20,并以 10 开头。所以通常您可以单击侧面并向上直到 20 或向下到 1。这没有任何问题,直到我更改了值带有JS函数。该函数由列表触发,并根据列表的值更新表单。举个例子,出了什么问题:所有能力在开始时都设置为 10,如果我在列表中选择 Dragonborn,它应该在 STR 处添加 +2,在 CHA 处添加 +1,如果我从列表中选择任何其他条目,则能力是重置为默认值 10。我遇到的问题是,在我的示例中执行函数后,STR 设置为 12,但无法再手动将其更改为任何其他值,即使这些值可以是 1 到 20 之间的任何值。我无法单击并将其更改为 13 或 11 或任何其他。它将跳回到该函数设置的12。我需要的是一切都像我现在一样工作,但是当该值设置为 12 时,我可以随后手动将其更改为任何其他值。我用来更新基本值的列表是种族,并且根据种族,默认值可以改变。但如果在我的示例中设置为 12,我需要能够更改。<table class="table">                <tr>                    <th>Ability</th>                    <th>Score</th>                                    </tr>                <tr>                    <td>STR: <br>Modifier:                        <td><input type="number" value="10" min="1" max="20" id="strScore" onchange="updateModifiers()">                            <input type="number" value="0" id="strMod"></td>                </tr>                <tr>                    <td>DEX: <br>Modifier:                        <td><input type="number" value="10" min="1" max="20" id="dexScore" onchange="updateModifiers()">                            <input type="number" value="0" id="dexMod"></td>                </tr>                <tr>                    <td>CON: <br>Modifier:                        <td><input type="number" value="10" min="1" max="20" id="conScore" onchange="updateModifiers()">                            <input type="number" value="0" id="conMod"></td>                </tr>}
查看完整描述

1 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

您将在输入元素内的 onchange 函数期间重置值,并将所有内容再次设置为值 reset() 和 pRace() 集。

尝试注释掉 updateModifiers() 函数中的第 49 行,该函数应该是 pRace(playerRace),只有在下拉值更改后才需要设置它。


查看完整回答
反对 回复 2023-07-29
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信