document.getElementById(" b1")。已检查无法在Mozilla和Chrome中运行

时间:2014-07-26 06:05:10

标签: javascript html google-chrome

下面的代码可以在Internet上完美地探索,但不能在Mozilla FireFox或Chrome上进行探索

<html>
<head>
<title>sp</title>
<script>
function hh()
{
if(document.getElementById("b1").checked)
{
var p=150
var q=document.getElementById("q1").value
var t=p*q
alert(t)
}
}
</script>
</head>
<body>
<input name="b1" type="checkbox">Add To cart<br>
<input size="1" name="q1" value="1"> Quantity<br>
<br>
<input onclick="hh()" name="p1" value="Purchase" type="submit">
</body>
</html>

如果我使用没有getElementById的代码,它的工作正常,但是当我添加它时,它没有。

4 个答案:

答案 0 :(得分:2)

因为你没有id b1的元素所以函数返回null,并且会抛出一个无法读取属性的错误

<input name="b1" type="checkbox">Add To cart<br>

应该有一个id属性

<input id="b1" name="b1" type="checkbox">Add To cart<br>

这也适用于您的q1输入,您没有ID

另外哪个版本的IE适合您?因为你应该在你的控制台中得到类似的错误,如chrome和firefox

答案 1 :(得分:0)

这个问题正在发生,因为你没有在html标签中使用 id

只需在你的html标签中添加id并将你的html更新为:

<input id="b1" name="b1" type="checkbox">Add To cart<br>
<input size="1" name="q1" value="1" id="q1"> Quantity<br>

代替:

<input name="b1" type="checkbox">Add To cart<br>
<input size="1" name="q1" value="1"> Quantity<br>

document.getElementById 适用于ID而不是名称。

答案 2 :(得分:0)

document.getElementById适用于id,不适用于name

使用

<input id="b1" name="b1" type="checkbox">Add To cart<br>

或使用

document.getElementsByName("b1")[0].value;

答案 3 :(得分:0)

将Id传递给document.getElementById()而不是Name 所以

    <input name="b1" type="checkbox">Add To cart<br>

    <input name="b1" id="b1" type="checkbox">Add To cart<br>

和 使用

    <input onclick="javascript:hh();" name="p1" value="Purchase" type="submit">

而不是

    <input onclick="hh()" name="p1" value="Purchase" type="submit">