第一次在网站上,无论如何,我的问题是,当我使用 onkeydown 然后使用 GetChar 检查是否按下了 Enter 键时,当操作运行时,该函数的结果仅在屏幕上显示大约一秒钟,并且然后就消失了,如果用户使用onclick(点击回车按钮),那么就不会出现这个问题。使用onkeydown时如何让操作结果保留在屏幕上。如果您想了解我的意思,该网站是 sqrtcalc.comze.com
<!DOCTYPE html>
<html>
<head>
<title>Square Root Calculator</title>
<script language="javascript">
function operAtion (form){
var x = form.inputbox.value;
if (isNaN(x)){
//document.write("lawl");
var y = "Enter a number";
document.getElementById("failsafe").innerHTML = y;
document.getElementById("demo").innerHTML = "";
} else if (x < 0){
var y = "Number must be positive";
document.getElementById("failsafe").innerHTML = y;
document.getElementById("demo").innerHTML = "";
} else if (x == ""){
var y = "uhm, you didnt enter anything";
document.getElementById("failsafe").innerHTML = y;
document.getElementById("demo").innerHTML = "";
} else {
var y = Math.pow(x, 1/2)
document.getElementById("demo").innerHTML = "The square root of " + x + " is " + y;
document.getElementById("failsafe").innerHTML = "";
}
}
function GetChar (event,form){
var keyCode = event.keyCode;
if (keyCode == 13){
operAtion(form);
}
}
</script>
<p></p>
</head>
<body>
<form name="myform" action="" method="get" style = "font-size:50px"><strong>Square Root Calculator</strong></br>
</br>
<input type="text" name="inputbox" value = "" onkeydown = "GetChar(event,this.form);"> </br>
</br>
<input id="button" type="button" name="button" value=" Enter " onclick="operAtion(this.form)" >
</form>
<h1 id = "failsafe"></h1>
</br>
</br>
</br>
<h1 id = "demo"></h1>
</br></br></br></br></br></br></br></br></br></br></br></br></br></br></br></br></br>
<img border="0" src="http://counter.rapidcounter.com/counter/1353157574/a"; ALIGN="middle" HSPACE="4" VSPACE="2" style = "padding-left:1400px;">
</body>
</html>
最佳答案
添加此代码:
window.onload = function(){
document.getElementById("myform").onsubmit = function(){
return false;
}
}
并添加id属性id="myform"
到<form>
标签。
关于Javascript onkeydown 函数运行然后显示消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13437777/