表单值中的JS变量

时间:2011-11-24 00:52:17

标签: javascript

我遇到了这样的问题。这不起作用。但是我需要在调用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">

3 个答案:

答案 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返回一个字符串,不应该使用
  • 使用===代替==
  • html中的ID无法以数字
  • 开头
  • javascript应位于单独的文件中,并在</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);