【问题标题】:Javascript html function input button outputJavascript html函数输入按钮输出
【发布时间】:2018-07-02 20:21:17
【问题描述】:

我正在努力完成以下任务。

有一个javascript函数:

function dec2bin(dec){

    return (dec >>> 0).toString(2);

}

我的 html 应该如下所示: - “dec”参数的一个输入字段。 - 一键“计算”以启动函数 dec2bin

我不知道为什么它不起作用,但我猜问题出在“***”标记的一行或两行中:

***<input type="text" id="input" value="input"/>***
<input type=button id="button1" value="calculate" onclick="dec2bin('input');"/>
<p id = "output"></p>

<script type="text/javascript">
function dec2bin(dec){

    return (dec >>> 0).toString(2);

}
***document.getElementById("output").innerHTML = dec2bin(document.getElementById("input").innerHTML);***
</script>

谢谢!

【问题讨论】:

  • 猜错了。它在 1) onclick="dec2bin('input');"并在 2) 中返回 (dec >>> 0).toString(2);读书,做家务,不作弊!! ^_^
  • 您使用.value 获取输入值,而不是.innerHTML。而且你需要等到用户输入一些东西,所以代码应该在一个事件处理程序中。

标签: javascript html function input output


【解决方案1】:

我认为您使用 this example 作为代码的基础。

这里的区别在于你需要等待用户点击按钮

您的代码现在所做的是在用户每次单击按钮时调用dec2bin('input'),但此方法仅执行计算。填充output 的行是第二个“***”标记的行,但它仅在页面加载时执行。

因此,您不需要在页面加载时执行document.getElementById("output").innerHTML = dec2bin(document.getElementById("input").value);,而是需要用函数包装它,并在用户点击button1 时使用它。

所以两个关键点是:

换行将获得input 值并填充output

function convertUserInput(id) {
    document.getElementById("output").innerHTML = dec2bin(document.getElementById(id).value);
}

将该函数用作onclick 处理程序

<input type=button id="button1" value="calculate" onclick="convertUserInput('input');"/>

Obs:当涉及到input 元素时,IMO 最好使用value 而不是innerHTML

【讨论】:

  • 恕我直言最好提供指导和简要说明,这将使学习过程更容易,而不是抛出可能导致混乱的提示。
猜你喜欢
  • 1970-01-01
  • 2013-07-03
  • 2021-03-16
  • 1970-01-01
  • 1970-01-01
  • 2013-05-16
  • 1970-01-01
  • 1970-01-01
  • 2014-04-08
相关资源
最近更新 更多