2017-05-07 35 views
0

我有2个javascript函数。一个在页面上写入两个值,第二个尝试读取这些值。问题是第二个函数不能读取这些值 - 它说“未定义”。在使用Javascript填充它之后无法读取dom元素的值

的功能是:

<html> 
<body onload="generate()"> 
<p> 
<a type="number" id="first"></a> 
<a>+</a> 
<a type="number" id="second"></a> 
<a>=</a> 
<input type="number" id="result"></input> 
<button id="submit" onclick="dosome()">Submit</button> 
<p id="super"></p> 



<script> 
var press_flag ="no"; 
var press_flag ="no"; 
function generate() 
{ 
    var x = Math.round(Math.random()*100); 
    var y = Math.round(Math.random()*100); 
    document.getElementById("first").innerHTML = x; 
    document.getElementById("second").innerHTML = y; 
    var result = document.getElementById("result").value; 

    setTimeout(function() { 
    alert(press_flag); 
    if (press_flag == "yes") 
    {} 
    else 
    { 
    document.getElementById("submit").disabled = true; 
    var result = x+y; 
    document.getElementById("super").innerHTML = result; 
    } 

    }, 7000); 
} 

function dosome() 
{ 
    press_flag= "yes"; 
    alert(document.getElementById("first").value); 
    var a = document.getElementById("first").value; 
    var b = document.getElementById("second").value; 
    var c = document.getElementById("result").value; 
    var resultfinal = Number(a) + Number(b); 
    if (c==resultfinal) 
    { 
    document.getElementById("super").innerHTML = "Superb my boy!"; 
    } 

} 
</script> 
</body> 

</html> 
+0

这些ids'first'&'second'的dom元素是什么?可以请您分享html吗? – brk

+0

您能不能请分享html文件 –

+0

加了完整的代码 – coderatlarge

回答

0

它的工作对我来说,你可以检查一下:

<!DOCTYPE html> 
<html> 
<body> 
first:<br> 
<input type="text" name="firstname" id="first"><br> 
    second:<br> 
    <input type="text" name="lastname" id="second"> 
    <input type="text" value="result" id="result"> 
    <input type="text" id="super"> 
    <input type="submit" value="submit" id="submit" onclick="generate()"> 
    <input type="submit" onclick="dosome()"> 

</body> 
</html> 
<script> 
var press_flag ="no"; 
function generate() 
{ 
    var x = Math.round(Math.random()*100); 
    var y = Math.round(Math.random()*100); 
    document.getElementById("first").innerHTML = x; 
    document.getElementById("second").innerHTML = y; 
    var result = document.getElementById("result").value; 

    setTimeout(function() { 
    alert(press_flag); 
    if (press_flag == "yes") 
    {} 
    else 
    { 
    document.getElementById("submit").disabled = true; 
    var result = x+y; 
    document.getElementById("super").innerHTML = result; 
    } 

    }, 7000); 
} 

function dosome() 
{ 
    press_flag= "yes"; 
    alert(document.getElementById("first").value); 
    var a = document.getElementById("first").value; 
    var b = document.getElementById("second").value; 
    var c = document.getElementById("result").value; 
    var resultfinal = Number(a) + Number(b); 
    if (c==resultfinal) 
    { 
    document.getElementById("super").innerHTML = "Superb my boy!"; 
    } 

} 
</script> 

它不显示任何不确定的。

+0

这次补充完整的html ....不起作用 – coderatlarge

相关问题