现在这仅供未来项目的参考,但我试图调用一个读取字符串但后面显示一个浮点数的函数。所以我首先检查字符串然后显示一个随机数。我认为,问题在于document.getElementById部分。有什么建议??
HTML文件:
<html>
<body>
<input type="text" id="letter" value=""/><br/>
<input type="button" value="LETS DO THIS!" onclick="floatNum();"/></br>
<script type="text/javascript" src="letNum.js"></script>
</body>
</html>
外部JS档案:
function floatNum()
{
var val1 = document.getElementById("letter");
if (isNaN(val1)
{
alert(Math.random())
}
}
答案 0 :(得分:0)
是的,你想传递函数中的元素,如下所示:
<input type="button" value="LETS DO THIS!" onclick="floatNum(document.getElementById('letter'))"/></br>
在你的JS中
function floatNum(el)
{
if (isNaN(el)
{
alert(Math.random())
}
}
如果是可重用的功能 - 尽量不要让它依赖于你的DOM。想想如果重命名元素或想要再次使用此功能会发生什么。你以前不可能 - 现在你可以。
答案 1 :(得分:0)
问题在于这一行:
var val1 = document.getElementById("letter");
应该是:
var val1 = document.getElementById("letter").value;
第一个将val1
设置为表示输入标记的DOM元素,第二个将其设置为输入标记的文本值(其内容)。
答案 2 :(得分:0)
您需要处理输入字段的值而不是输入字段本身。
function floatNum()
{
var letter = document.getElementById("letter");
if (isNaN(letter.value) // using input fields value not the whole object
{
alert(Math.random())
}
}
答案 3 :(得分:0)
您不会获取输入的值,而是输入本身。
正确的代码是:
var val1 = document.getElementById("letter").value;
答案 4 :(得分:0)
以下代码正在运行: - 在你的代码中,你错过了右括号&#34;)&#34;接近&#34;如果条件&#34;
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>demo</title>
<script type="text/javascript">
function floatNum()
{
var letter = document.getElementById("letter");
if (isNaN(letter.value))// using input fields value not the whole object
{
alert(Math.random());
}
}
</script>
</head>
<body>
<input type="text" id="letter" value="" /><br />
<input type="button" value="LETS DO THIS!" onclick="floatNum();" />
</body>
</html>