我遇到了这样的问题。这不起作用。但是我需要在调用goDo函数之前将value =“”清空,并在调用goDo函数后进行更改。
<script>
function goDo(num) {
if (num == 1) var goID = 10;
else if (num == 2) var goID = 20;
var findElement = document.getElementById('1');
findElement.innerHTML.value=goID;
}
</script>
<input type="text" value="" id="1">
答案 0 :(得分:1)
尝试
findElement.setAttribute('value', goID);
除此之外,您可以执行此操作来分配goID:
,而不是使用if语句var goID = { 1: 10, 2: 20 }[num];
在这里,您要创建一个临时哈希映射,然后使用num
作为获取所需值的键。这是一种快速且更惯用的方式来完成你尝试用if语句做的事情。
答案 1 :(得分:1)
<input type="text" value="" id="foobar">
<script>
function goDo(num) {
var goID, element;
if (num === 1 || num === 2){
goID = num * 10;
}
element = document.getElementById('foobar');
element.value = goID;
}
</script>
innerHTML
返回一个字符串,不应该使用===
代替==
</body>
答案 2 :(得分:1)
嗯,我觉得你的代码有问题。你可以这样试试:
function goDo(num) {
var goID;
if (num == 1) {goID = 10;}
else if (num == 2){ goID = 20;}
var findElement = document.getElementById('1');
findElement.value=goID;
}
goDo(1);