【问题标题】:Passing Javascript variable into textbox [duplicate]将Javascript变量传递到文本框[重复]
【发布时间】:2014-09-09 03:51:33
【问题描述】:

我有一个名为 totalScore 的变量:

totalScore = '<h2>Total Score: ' + parseInt(parseFloat(scorePrompt) +
                                                        parseFloat(scorePrompt2) +
                                                        parseFloat(scorePrompt3) +
                                                        parseFloat(scorePrompt4) +
                                                        parseFloat(scorePrompt5) +
                                                        '</h2>');

我需要将存储在 totalScore 中的数字传递给文本框。我还没有找到将变量传递给 html 元素的方法,如果我遗漏了一些非常明显的内容,我很抱歉,我是 javascript 新手。

【问题讨论】:

  • document.getElementById('textboxid').text="your value" 不简单?
  • 将数字存储在单独的变量中。

标签: javascript html


【解决方案1】:

试试这个:

document.getElementById('txtScore').value = totalScore;

【讨论】:

  • 数字,不是生成的 HTML。
  • 在下面阅读我的其他答案..
【解决方案2】:

向您介绍我们为什么要做我们所做的事情的背景:
javascript 通过 DOM API 将其挂钩到 html 中。这占了 js 的大部分用途。 您要做的是两件事:向 html 添加一个元素,并在该元素内插入一个文本节点。 一个并没有真正将变量“传递给 html 元素”。可以将变量转换为字符串,并将其作为文本节点附加到 DOM。 所以你可能正在寻找这样的东西:

totalScore = '<h2>Total Score: ' + parseInt(parseFloat(scorePrompt) +
parseFloat(scorePrompt2) +
parseFloat(scorePrompt3) +
parseFloat(scorePrompt4) +
parseFloat(scorePrompt5) +
'</h2>');
document.getElementById("myelementID").innerHTML = totalScore;

【讨论】:

    【解决方案3】:
    document.getElementById("id").value =your value;
    

    通过使用它,您可以为文本框赋值。

    【讨论】:

      【解决方案4】:

      纯 JavaScript:

      document.getElementById('myTextBox').value = 'myValue';
      

      jQuery:

      $('#myTextBox').val('myValue');
      

      【讨论】:

      • 您在添加之前看过 CodeSlayer 的回答吗?
      【解决方案5】:

      试试这样的

          totalScore = parseInt(parseFloat(scorePrompt) +
                          parseFloat(scorePrompt2) +
                          parseFloat(scorePrompt3) +
                          parseFloat(scorePrompt4) +
                          parseFloat(scorePrompt5);
          // if you want only number.
          document.getElemenyById('text_box_id').value = totalScore;
      
          // if you want number + string.
          totalScore = '<h2>Total Score: ' + totalScore + '</h2>');
          document.getElemenyById('text_box_id').value = totalScore;
      

      【讨论】:

        【解决方案6】:

        只需添加这行代码

        document.getElementById("{yourTextBoxId}").value= parseInt(parseFloat(scorePrompt) +
                                                                parseFloat(scorePrompt2) +
                                                                parseFloat(scorePrompt3) +
                                                                parseFloat(scorePrompt4) +
                                                                parseFloat(scorePrompt5);
        

        只需将 {yourTextBoxId} 替换为您的文本框的 id。

        通过这样做,您将获得不带 html 的号码。

        【讨论】:

          【解决方案7】:

          这里是 jQuery 语法

          $('#yourTextboxID').val(totalScore)
          

          或在 HTML 中

          document.getElementById('yourTextboxID').value=totalScore;
          

          【讨论】:

            【解决方案8】:

            为什么不尝试放置另一个变量..像这样

            var total =parseInt(parseFloat(scorePrompt) +                                                     parseFloat(scorePrompt2)+
                               parseFloat(scorePrompt3) +
                               parseFloat(scorePrompt4) +
                               parseFloat(scorePrompt5);
            
            totalScore = '<h2>Total Score: ' + total +'</h2>';
            
            //now you don't need to cut every character to check if it is numeric or not
            document.getElementById('txtValue').value=total;
            

            【讨论】:

              猜你喜欢
              • 2019-10-18
              • 1970-01-01
              • 2012-06-17
              • 2014-04-17
              • 1970-01-01
              • 1970-01-01
              • 2016-10-14
              • 2014-01-11
              • 1970-01-01
              相关资源
              最近更新 更多