使用JavaScript更改HTML表单输入

时间:2016-03-29 05:18:18

标签: javascript html forms

我试图为游戏“路径查找器”创建一个可编辑的角色表。我有一个<select>来为每场比赛选择比赛和值。我的价值是一个字符串。我需要做的是选择比赛时我需要输入表格进行更新。

Javascript应该为要修改的stat分配一个变量。然后,用户将输入基本统计编号,完成后,javascript将根据用户输入的值添加或减去修饰符。

例如:一个矮人的体质得分为+2。因此,当用户从下拉菜单中选择矮人时,我需要我的脚本来识别并声明一个等于2的变量。然后用户输入基本属性,让他们说13。一旦完成输入该数字代码会自动将输入字段更新为15.

我已经知道如何为<p>这样的事情做这件事,但是我无法通过文字输入获取它。我意识到,最简单的方法是将选项值设置为奖励数量,但是比赛会产生3个统计数据,2个正数和1个负数。所以我只能理解如何使用in / else语句执行此操作。我对此非常陌生。

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

<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>

3 个答案:

答案 0 :(得分:2)

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

无论如何,你的问题在于这一行

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

应该是

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

答案 1 :(得分:0)

如何将其更改为

if (race.value == "cat") {
var strMod = 3;

答案 2 :(得分:0)

上面一行代码中的错误是你没有比较字符串。

if (race = "cat") {

应改为

if (race.value == "cat") {