Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript getElementById(“ID”)除了“唯一ID”之外,还有其他要求吗?_Javascript_Html_Kineticjs - Fatal编程技术网

Javascript getElementById(“ID”)除了“唯一ID”之外,还有其他要求吗?

Javascript getElementById(“ID”)除了“唯一ID”之外,还有其他要求吗?,javascript,html,kineticjs,Javascript,Html,Kineticjs,我不知道为什么,但是这个代码不起作用!除此之外,代码中没有其他错误!因为当我将num1、num2、num3的值更改为一些预定义的值时,效果非常好。请帮忙 HTML是 <h3>Choose Image</h3> <table border="1"> <tr> <td><h4>Ball_1</h4></td> <td&g

我不知道为什么,但是这个代码不起作用!除此之外,代码中没有其他错误!因为当我将num1、num2、num3的值更改为一些预定义的值时,效果非常好。请帮忙

HTML是

    <h3>Choose Image</h3>
    <table border="1">
        <tr>
            <td><h4>Ball_1</h4></td>
            <td><img src="images/b.png"></td>
            <td>No. of Images: <input type="text" id="one_number_id" value="0"> </td>
        </tr>
        <tr>
            <td><h4>Ball_2</h4></td>
            <td><img src="images/b2.png"></td>
            <td>No. of Images: <input type="text" id="two_number_id" value="0"></td>
        </tr>
        <tr>
            <td><h4>Ball_3</h4></td>
            <td><img src="images/b3.png"></td>
            <td>No. of Images: <input type="text" id="three_number_id" value="0"></td>
        </tr>
    </table>

除了唯一ID之外,唯一的要求是元素在DOM中呈现并可用。如果在此之前包含脚本,则getElementById将返回null

将代码包装在window.onload事件中,以确保元素已准备好使用:

window.onload = function(){
    var one_n_img = document.getElementById("one_number_id");   
    var two_n_img = document.getElementById("two_number_id");
    var three_n_img = document.getElementById("three_number_id");
    var num1 = one_n_img.value;
    var num2 = two_n_img.value;
    var num3 = three_n_img.value;  
};

您需要检查Script.js的内部。必须运行所有脚本onload事件。对于jquery,请使用$document.ready,否则请使用以下解决方案

您可能在创建DOM之前运行脚本。尝试在窗口加载时运行它,或者在html页面中的表之后放置脚本。这也是一个很好的自我关闭标签的技术。看起来像所有的工作:你的代码没有问题。谢谢大家,问题解决了。事实上,我后来添加这些数字时没有使用parseInt,所以…我想你明白了!
window.onload = function(){
    var one_n_img = document.getElementById("one_number_id");   
    var two_n_img = document.getElementById("two_number_id");
    var three_n_img = document.getElementById("three_number_id");
    var num1 = one_n_img.value;
    var num2 = two_n_img.value;
    var num3 = three_n_img.value;  
};