使用JavaScript转换值

使用JavaScript转换值,javascript,html,Javascript,Html,不知何故,我下面的JavaScript代码将数值从公里转换为海里似乎不起作用。这看起来很简单,但我不知道为什么我会这样。谢谢你的帮助 输入以公里为单位的值: 结果以海里为单位: 算计 功能转换(公里){ 返回公里/1.852; } 函数计算(){ var kMeter=编号(document.getElementById(“kM”).value); var convertedValue=转换(公里计); document.getElementById(“nM”).innerHTML= 转换值

不知何故,我下面的JavaScript代码将数值从公里转换为海里似乎不起作用。这看起来很简单,但我不知道为什么我会这样。谢谢你的帮助


输入以公里为单位的值:
结果以海里为单位:
算计
功能转换(公里){
返回公里/1.852;
}
函数计算(){
var kMeter=编号(document.getElementById(“kM”).value);
var convertedValue=转换(公里计);
document.getElementById(“nM”).innerHTML=
转换值;
返回false;
}

您应该使用value而不是innerHTML:

document.getElementById("nM").value = convertedValue;

您应该使用value而不是innerHTML:

document.getElementById("nM").value = convertedValue;

对于输入标记,应该使用value而不是innerHtml。您也不需要返回false


输入以公里为单位的值:
结果以海里为单位:
算计
功能转换(公里){
返回公里/1.852;
}
函数计算(){
var kMeter=编号(document.getElementById(“kM”).value);
var convertedValue=转换(公里计);
document.getElementById(“nM”)值=
转换值;
}

对于输入标记,您应该使用value而不是innerHtml。您也不需要返回false


输入以公里为单位的值:
结果以海里为单位:
算计
功能转换(公里){
返回公里/1.852;
}
函数计算(){
var kMeter=编号(document.getElementById(“kM”).value);
var convertedValue=转换(公里计);
document.getElementById(“nM”)值=
转换值;
}

至少有两个问题导致脚本无法工作


  • 输入元素没有
    innerHMTL
    属性。它们有一个
    。因此
    document.getElementById(“nM”).innerHTML
    应该是
    document.getElementById(“nM”).value

  • 到那时一切都会好起来的。您不需要将按钮类型更改为
    按钮
    ,因为函数返回false,而按钮返回false到表单,从而停止表单提交。但是,将函数
    calculate
    (至少在Chrome和Firefox中)命名为元素的id(
    id=“calculate”
    )似乎存在问题。更改函数名或id可以解决此问题

  • 功能转换(公里){
    返回公里/1.852;
    }
    函数计算(){
    var kMeter=编号(document.getElementById(“kM”).value);
    var convertedValue=转换(公里计);
    document.getElementById(“nM”).value=convertedValue;
    返回false;
    }
    
    输入以公里为单位的值:
    结果以海里为单位:
    算计
    
    至少有两个问题导致脚本无法工作


  • 输入元素没有
    innerHMTL
    属性。它们有一个
    。因此
    document.getElementById(“nM”).innerHTML
    应该是
    document.getElementById(“nM”).value

  • 到那时一切都会好起来的。您不需要将按钮类型更改为
    按钮
    ,因为函数返回false,而按钮返回false到表单,从而停止表单提交。但是,将函数
    calculate
    (至少在Chrome和Firefox中)命名为元素的id(
    id=“calculate”
    )似乎存在问题。更改函数名或id可以解决此问题

  • 功能转换(公里){
    返回公里/1.852;
    }
    函数计算(){
    var kMeter=编号(document.getElementById(“kM”).value);
    var convertedValue=转换(公里计);
    document.getElementById(“nM”).value=convertedValue;
    返回false;
    }
    
    输入以公里为单位的值:
    结果以海里为单位:
    算计
    
    A
    元素在单击时将提交表单。这会导致页面刷新。您需要改为执行
    ,将默认的
    type=“submit”
    更改为
    type=“button”
    。此外,在定义
    calculate
    之前,您正在代码中引用
    calculate
    。你可以把你的
    标签移到头部来解决这个问题。@TylerRoper为什么不回答这个问题?@Paul挖苦一个傻瓜。这个问题已经被问了很多次了,所以我不太愿意回答。这似乎是3或4个常见问题的组合。(
    value
    而不是
    innerHTML
    ,放置
    标记,
    提交页面等)。输入元素没有
    innerHMTL
    属性。它们有一个
    。因此
    document.getElementById(“nM”).innerHTML
    应该是
    document.getElementById(“nM”).value
    。命名函数
    calculate
    似乎也有问题。从
    onclick=“return calculate();”
    中删除
    return
    ,使其成为
    onclick=“calculate”
    。我甚至怀疑它是否合法。单击
    元素将提交表单。这会导致页面刷新。您需要改为执行
    ,将默认的
    type=“submit”
    更改为
    type=“button”
    。此外,在定义
    calculate
    之前,您正在代码中引用
    calculate
    。你可以把你的
    标签移到头部来解决这个问题。@TylerRoper为什么不回答这个问题?@Paul挖苦一个傻瓜。这个问题已经被问了很多次了,所以我不太愿意回答。这似乎是3或4个常见问题的组合。(
    value
    而不是
    innerHTML
    ,放置
    标记,
    提交页面等)。输入元素没有