如何将javascript数字转换为字符串并将其传递给输入框

5vf7fwbs  于 2021-09-08  发布在  Java
关注(0)|答案(3)|浏览(301)

我一直想把脚变成英里。以下是我目前的代码:

function convertData() {
  var distance = document.getElementById('distance').innerHTML;
  var mile     = 5280;
  var result   = distance /mile;
  document.getElementById('distance').innerHTML = result;
};

从这里的答案来看,我正试图将其应用到
document.getelementbyid标记位于此处找到的文档的开头。。

<input type="button" value='Convert to Miles' onclick="convertData();">

<input id="distance" type="number" value=453454>

…因此,当用户单击该按钮时,数据将被转换。这是用户首次尝试打开页面时的默认行:
有什么建议或想法吗?

mbskvtky

mbskvtky1#

function convertData() {
  var distance = document.getElementById('distance').value;
  var mile = 5280;
  var result = distance / mile;
  document.getElementById('answer').innerHTML = +result;
};
<div id="answer"></div>
<input type="button" value='Convert to Miles' onclick="convertData();">
<input id="distance" type="number" value=453454>

我建议在另一个元素中显示答案,并让用户自由地进行更改。

ukdjmx9f

ukdjmx9f2#

最简单的方法
带有 type=number 拥有 valueAsNumber 属性直接处理其数值。
(还有一个 valueAsDate 对于那些 type=date )

const
  distance_el = document.getElementById('distance')
,  mile       = 5280
   ;
function convertData()
  {
  distance_el.valueAsNumber /= mile
  }
<input type="button" value="Convert to Miles" onclick="convertData();">

<input id="distance" type="number" value="453454">
pwuypxnk

pwuypxnk3#

您应该正在获取/设置输入 value 财产而非财产 innerHTML .
这个 innerHTML 属性用于返回元素的html内容,而 value 属性用于返回文本字段的值。

function convertData() {
  var distance = document.getElementById('distance').value;
  var mile = 5280;
  var result = distance / mile;
  document.getElementById('distance').value = result;
};
<input type="button" value='Convert to Miles' onclick="convertData();">
<input id="distance" type="number" value=453454>

简化版:

function convertData(t) {
  t.nextElementSibling.value = t.nextElementSibling.value/5280;
};
<input type="button" value='Convert to Miles' onclick="convertData(this);">
<input id="distance" type="number" value=453454>

相关问题