我有一个网络表单,当用户输入一个重量时,它会接受输入,我需要根据重量显示犬舍的大小,现在它只显示“迷你”,因为页面刷新但从未改变。
我想我需要另一个事件处理程序,每次输入一个重量,但我不太确定如何做到这一点…
这是我用JavaScript写的:
window.addEventListener("load", getKennelSize);
var petForm = document.getElementsByTagName("form");
var petSize;
function getKennelSize() {
var petWeight = document.getElementById("weight").value;
if (petWeight === NaN) {
petSize = " ";
} else if (petWeight <= 4) {
petSize = "mini";
} else if (petWeight >= 4 && petWeight <= 12) {
petSize = "small";
} else if (petWeight > 12 && petWeight <= 50) {
petSize = "medium";
} else {
petWeight > 50;
petSize = "large";
}
document.getElementById("size").value = petSize;
}
document.getElementById("size").value = petSize;
我试图在HTML Web表单中定位的元素是:
<p>
<label for="weight">Weight of pet?</label>
<input type="text" name="weight" id="weight" class="quantity" />
<label for="size">Kennel size</label>
<input type="text" name="size" id="size" class="cost" readonly>
</p>
2条答案
按热度按时间xsuvu9jc1#
留言
您可能要查找的是权重输入上的更改或输入事件。另外,我会改变你的重量输入的一个类型的数字,而不是字符串。
超文本标记语言
JS
3phpmpom2#
加载事件仅在加载整个页时激发一次。[ "load" event doc ]
要在每次权重更改时运行getKennelSize函数,请替换
与
另外,似乎
getKennelSize
是一个以html形式计算和更新size
值的函数,因此将函数命名为updateKennelSize
是一个很好的做法。