白白243
2016-10-12 23:44
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>比较大小函数</title>
</head>
<body>
<input type="text" id="num1" name="num1" value="请输入第一个数" onfocus="this.value=''" onblur="if(this.value==''){this.value='请输入第一个数'}" />
<br />
+<br />
<input type="text" id="num2" name="num2" value="请输入第二个数" onfocus="this.value=''" onblur="if(this.value==''){this.value='请输入第二个数'}" />
<br />
<input type="button" id="button22" value="其中较大值是" onclick="champ(a,b)" />
<br />
</body>
<script type="text/javascript">
var a=document.getElementById(num1).value;
var b=document.getElementById(num1).value;
function champ(a,b){
if(a<b){
return b;
}
else if(a==b){
return "相等";
}
else{
return a;
}
}
document.write(champ(a,b)+"<br />");
</script>
</html>
var a=document.getElementById(num1).value;
var b=document.getElementById(num1).value;
这里, 那两个id的名字, 要加个引号引起来, 不加的话, 认为是一个变量(且实际上没有定义). b的值那个id是num2.
num1和num2的值, 你直接写了, value="请输入第一个数";请输入第二个数, a, b 的值就是这两句话, 没有拿到数字.
可以用placeholder.
a,b的值,放在函数里自己去获取的, 那就没有必要传参了. 直接自己获取就可以了.
比较那里不要return, return就跳出函数了, 也不会打印了.
最后屏幕输出那里也可以放在函数里打.
代码如下:
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>比较大小函数</title>
</head>
<body>
<input type="text" id="num1" name="num1" placeholder="请输入第一个数" onfocus="this.value=''" onblur="if(this.value==''){this.value='请输入第一个数'}" />
<br />
+<br />
<input type="text" id="num2" name="num2" placeholder="请输入第二个数" onfocus="this.value=''" onblur="if(this.value==''){this.value='请输入第二个数'}" />
<br />
<input type="button" id="button22" value="其中较大值是" onclick="champ()" />
<br />
</body>
<script type="text/javascript">
function champ(){
var a=document.getElementById('num1').value;
var b=document.getElementById('num2').value;
var res;
if(a<b){
res = b;
}
else if(a==b){
res = "相等";
}
else{
res = a;
}
document.write(res);
}
</script>
</html>
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题