【问题标题】:not ready getElementById [duplicate]未准备好getElementById [重复]
【发布时间】:2022-11-14 11:58:04
【问题描述】:

当我在输入中输入一个数字时,结果会以 NaN 的形式返回,即使我 parseInt 结果也是如此。我也尝试了一个字符串,它也没有读取它。

请告知为什么它没有读取输入。

谢谢, 阿维

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Validation</h2>

<p>Please input a number between 1 and 10:</p>

<input id="numb">

<button type="button" id="mult">Submit</button>

<p id="demo"></p>

<script>

var first = parseInt(document.getElementById('numb').value, 10);

document.getElementById('mult').addEventListener('click', multiply);

function multiply() {
    console.log(first);
}

</script>

【问题讨论】:

    标签: javascript getelementbyid parseint


    【解决方案1】:

    您需要在 multiply() 函数中定义 first

    <!DOCTYPE html>
    <html>
    <body>
    
    <h2>JavaScript Validation</h2>
    
    <p>Please input a number between 1 and 10:</p>
    
    <input id="numb">
    
    <button type="button" id="mult">Submit</button>
    
    <p id="demo"></p>
    
    <script>
    
    document.getElementById('mult').addEventListener('click', multiply);
    
    function multiply() {
       var first = parseInt(document.getElementById('numb').value, 10);
       console.log(first);
    }
    
    </script>

    【讨论】: