为了账号安全,请及时绑定邮箱和手机立即绑定

我的代码哪错了为什么不出来?

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Math </title>

<script type="text/javascript">

function mathf(){

    var num1,num2,num;

    num1 = document.getElementById("num1").value;

    num2 = document.getElementById("num2").value;

    num =  Math.floor(num1);

    num2 = num;

    }

</script>

</head>

<body>

<input type="text" id="num1" /><br/>

<button onClick="mathf()">点击</button><br/>

<input type="text" id="num2" />

</body>

</html>


正在回答

7 回答

//把自定义的函数修改下

function mathf(){

    var num1,num2,num;

    num1 = document.getElementById("num1").value;

   // num2 = document.getElementById("num2").value;

    num =  Math.floor(num1);

   // num2 = num;

document.getElementById("num2").value=num;

    }


0 回复 有任何疑惑可以回复我~
#1

默默28 提问者

这样写有什么讲究呢?我那个也可以读通,但是为什么就不行呢,我概念哪理解出错了??
2016-05-26 回复 有任何疑惑可以回复我~
#2

慕工程1065867 回复 默默28 提问者

写代码,尽量精简。如果要坚持您的那个写法,也可以的,只是多了一个value,value是属性值,不是节点对象,下面的回答,已经给你改好了。
2016-05-26 回复 有任何疑惑可以回复我~
#3

默默28 提问者

非常感谢!
2016-05-26 回复 有任何疑惑可以回复我~


1、事件是小写——onclick

2、函数还可以再精简——

function mathf(){

    //获取输入的数值

     var  num1 = document.getElementById("num1").value;      

     //将获取到的值向下取整后,直接赋给num2

    document.getElementById("num2").value=Math.floor(num1);  


0 回复 有任何疑惑可以回复我~

num2 = document.getElementById("num2").value;这句话是读取id为num2所在的标签的value ,是一个值!

num2 = num; 也只是把num的值赋给num2;num2是变量,

var i =1;    i=2;  最终i=2,难道会变成1=2?


1 回复 有任何疑惑可以回复我~
#1

默默28 提问者

懂了,谢谢
2016-05-26 回复 有任何疑惑可以回复我~

function mathf(){

    var num1,input2,num;

    num1 = document.getElementById("num1").value;

    input2 = document.getElementById("num2");

    num =  Math.floor(num1);

    input2.value = num;

    }

document.getElementById("num2")是得到一个dom对象,是一个引用,把他对应到一个变量里,通过给这个dom对象的value值重新赋值,就能改变输入框的值了。

document.getElementById("num2").value是得到一个dom对象的属性value的值,获取的只是一个数值而已,你改变了这个数值,并不会改变对象本身

3 回复 有任何疑惑可以回复我~

//或者把自定义函数改成这样

function mathf(){

    var num1,num2,num;

    num1 = document.getElementById("num1").value;

    num2 = document.getElementById("num2");

    num =  Math.floor(num1);

    num2.value = num;

    }


0 回复 有任何疑惑可以回复我~

var num1,num2;

    num1 = document.getElementById("num1").value;

num2 =  Math.floor(num1);

    document.getElementById("num2").value=num2;


0 回复 有任何疑惑可以回复我~
#1

默默28 提问者

我的也没有错啊,为什么就出不来呢???
2016-05-26 回复 有任何疑惑可以回复我~

你想要什么样的结果???

0 回复 有任何疑惑可以回复我~
#1

默默28 提问者

点击按钮,Math.floor(x)的结果显示到mum2上
2016-05-26 回复 有任何疑惑可以回复我~
#2

小白亲亲 回复 默默28 提问者

谁给谁赋值!这个赋值地方想一下,谁要在前?
2016-05-26 回复 有任何疑惑可以回复我~
#3

默默28 提问者 回复 小白亲亲

我试了一下你的,你的值也没出来
2016-05-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的代码哪错了为什么不出来?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信