数字到字母的代码在Javascript中不起作用

数字到字母的代码在Javascript中不起作用,javascript,html,Javascript,Html,最近我做了一个叫做Converter的函数。它在早上工作得很好,现在当我使用它时,代码无法运行,当我像3一样键入数字时,它应该像3一样打印,但我现在知道是什么问题,问题也没有显示出来。我是Javascript新手 这是代码 <!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Properties. To change this template file, c

最近我做了一个叫做Converter的函数。它在早上工作得很好,现在当我使用它时,代码无法运行,当我像3一样键入数字时,它应该像3一样打印,但我现在知道是什么问题,问题也没有显示出来。我是Javascript新手 这是代码

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script>
            function abc()
            {
             //   alert('hello');
                var amt=parseInt(document.getElementById('t1'));
                var d="";
                var ones=Array("","One","Two","Three","four","five");
                var tens=Array("","","Twenty","Thirthy","Fourthy","fifthy");
                var hundreds=Array("","One hundred","Two hundred","Three hundred","Four hundred","Five hundred");
                if(amt>=1&&amt<=19)
                {
                    d=ones[amt];

                }
                  document.getElementById('p1').innerHTML=d;
               // document.write(d);

            }
            </script>
    </head>
    <body>

                <input type="text" id="t1" />

                <input type="button"  value="Convert" onclick="abc()" />

                <p id="p1"></p>

    </body>
</html>

函数abc()
{
//警惕(“你好”);
var amt=parseInt(document.getElementById('t1');
var d=“”;
var ones=数组(“,”一“,”二“,”三“,”四“,”五”);
var tens=数组(“,”,“二十”,“三十”,“四”,“五”);
var数百=数组(“,”一百“,”两百“,”三百“,”四百“,”五百“);

如果(amt>=1&&amt您忘记分析textbox的值 应该是

document.getElementById('t1')。值


除了我对没有抓住价值的评论之外


使用
let amt=document.getElementById('t1')。value
。这将返回输入中的值

有人为你在这里所做的努力树立了一个很好的榜样:
var a=[“(一)、(二)、(三)、(四)、(五)、(六)、(七)、(八)、(九)、(十)、(十一)、(十二)、(十三)、(十四)、(十五)、(十六)、(十七)、(十八)、(十九”);
变量b=[''、'二十'、'三十'、'四十'、'五十'、'六十'、'七十'、'八十'、'九十'];
用词表示的函数(num){
if((num=num.toString()).length>9)返回“溢出”;
n=('000000000'+num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d{2})$/);
如果(!n)返回;
var-str='';
str+=(n[1]!=0)?(a[Number(n[1])]| b[n[1][0]+''+a[n[1][1]]+'crore':'';
str+=(n[2]!=0)?(a[Number(n[2])]| b[n[2][0]+''+a[n[2][1]+'lakh':'';
str+=(n[3]!=0)?(a[Number(n[3])]| b[n[3][0]+''+a[n[3][1]+'000:'';
str+=(n[4]!=0);(a[Number(n[4])]| b[n[4][0]+''+a[n[4][1]+'hund':'';
str+=(n[5]!=0)?((str!=“”)和“:”)+(a[Number(n[5])]| | b[n[5][0]+”+a[n[5][1])+”仅“:”;
返回str;
}
document.getElementById('number')。onkeyup=function(){
document.getElementById('words').innerHTML=inWords(document.getElementById('number').value);
};

您的错误是由以下行引起的:
parseInt(document.getElementById('t1');
您试图解析int(html输入元素)。无法将html值解析为int,因此返回的是NaN,不能转换为“三”或任何其他数字。 以下是工作代码:


函数abc()
{
var amt=document.getElementById('t1')。值;
var d=“”;
var ones=数组(“,”一“,”二“,”三“,”四“,”五”);
var tens=数组(“,”,“二十”,“三十”,“四”,“五”);
var数百=数组(“,”一百“,”两百“,”三百“,”四百“,”五百“);

如果(amt>=1&&amt
让amt=document.getElementById('t1').value;
您需要该值。如果您解释什么不起作用,通常会很有用。您在控制台中是否收到错误?您是否看到错误的输出或html中没有显示输出?您是否不需要获取“t1”的值而不是元素本身?即
document.getElementById(“t1”).value
@benvc一秒钟。@benvc没有显示任何输出