首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用JavaScript更改HTML表单输入

使用JavaScript更改HTML表单输入
EN

Stack Overflow用户
提问于 2016-03-29 13:18:18
回答 3查看 120关注 0票数 5

我正在尝试为游戏探路者制作一个可编辑的角色工作表。我有一个用于选择比赛的<select>和一个为每个比赛设置的值。我的值是一个字符串。我需要做的是,当一个比赛被选择时,我需要一个输入表单来更新。

Javascript应该为将要修改的状态分配一个变量。然后,用户将键入基本统计数字,并且当完成时,javascript将从用户输入的值中添加或减去任何修饰符。

例如:一个侏儒的体质得分为+2。因此,当用户从下拉菜单中选择dwarf时,我需要我的脚本来识别并声明一个等于2的变量。然后用户将键入基本统计数据,假设为13。一旦他们输入完该数字,代码将自动将输入字段更新为15。

我已经想出了如何在像<p>这样的东西上这样做,但是我不能在文本输入上做到这一点。我意识到最简单的事情是将期权价值设置为任何奖金数字,但比赛影响3个属性,两个积极的和一个消极的。所以我只能理解如何使用in/else语句来做到这一点。我对此非常陌生。

这是我的代码。任何帮助都是非常感谢的。

代码语言:javascript
复制
<script>
function createModifier () {

var race = document.getElementById("race");

if (race = "cat") {
    var strMod = 3;
}
else {
    var strMod = 1;
}
document.getElementById("strElm").innerHTML = 10 + strMod;
}
</script>
</head>
<body>

<form>
    <div id="raceSelector" class="attribute">
<p><strong>Race</strong></p> 
  <select name="race" id="race">
<option value="aas">Aasimar</option>
<option value="cat">Catfolk</option>
<option value="cha">Changeling</option>
<option value="dha">Dhampir</option>
<option value="dro">Drow</option>
<option value="due">Duergar</option>
<option value="dwa">Dwarf</option>
<option value="elf">Elf</option>
<option value="fet">Fetchling</option>
<option value="gil">Gillman</option>
<option value="gno">Gnome</option>
<option value="gob">Goblin</option>
<option value="gri">Grippli</option>
<option value="hale">Half-Elf</option>
<option value="half">Halfing</option>
<option value="halo">Half-Orc</option>
<option value="hob">Hobgoblin</option>
<option value="hum">Human</option>
<option value="ifr">Ifrit</option>
<option value="kit">Kitsune</option>
<option value="kob">Kobold</option>
<option value="mer">Merfolk</option>
<option value="nag">Nagaji</option>
<option value="orc">Orc</option>
<option value="ore">Oread</option>
<option value="rat">Ratfolk</option>
<option value="sam">Samaran</option>
<option value="str">Strix</option>
<option value="sul">Suli</option>
<option value="svi">Svirfneblin</option>
<option value="syl">Sylph</option>
<option value="ten">Tengu</option>
<option value="tie">Tiefling</option>
<option value="und">Undine</option>
<option value="van">Vanara</option>
<option value="vis">Vishkanya</option>
<option value="way">Wayang</option>
</select>
</div>
<div class="attribute">
  <input type="text" onchange="createModifier()"></input>
  <p id="modStr"></p>
</div>
/form>
EN

回答 3

Stack Overflow用户

发布于 2016-03-29 13:26:37

您说的是if (race = "cat"),它告诉race等于cat,而不是确定它是否等于。您需要使用==而不是=

不管怎样,你的问题出在这条线上

代码语言:javascript
复制
var race = document.getElementById("race");

它应该是

代码语言:javascript
复制
var race = document.getElementById("race").value;
票数 2
EN

Stack Overflow用户

发布于 2016-03-29 13:27:12

把它改成

代码语言:javascript
复制
if (race.value == "cat") {
var strMod = 3;
票数 0
EN

Stack Overflow用户

发布于 2016-04-04 03:46:00

以上代码行中的错误是您没有比较字符串。

代码语言:javascript
复制
if (race = "cat") {

应更改为

代码语言:javascript
复制
if (race.value == "cat") {
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36276007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档