黑马程序员技术交流社区

标题: getElementById用法 [打印本页]

作者: 谢玲    时间: 2012-11-25 16:17
标题: getElementById用法
<script  type=”text/javascript”>
   function click(){
   var t1=document.getElementById(“txt1”).value;
   var t2=document.getElementById(“txt2”).value;
   t1=parseInt(t1,10);  //parseInt将字符串转换为数,后面的10表示十进制
   t2=parseInt(t2,10);  //变量t1、t2为弱类型,不用重新声明
  document.getElementById(“txtresult”).value=t1+t2;
}
</script>
问题:t1和t2进行转换后已经是十进制数,还能够直接付给value吗?
作者: 陈辉    时间: 2012-11-25 17:55
1、可以的,因为javascript引擎会自动调用toString()方法将t1+t2的值转换成字符串类型,即
document.getElementById(“txtresult”).value=t1+t2;等效于document.getElementById(“txtresult”).value=(t1+t2).tostring;

2、下面是我写的代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
         function click(){
            var t1=document.getElementById("txt1").value;
            var t2=document.getElementById("txt2").value;
            t1=parseInt(t1,10);  //parseInt将字符串转换为数,后面的10表示十进制
            t2 = parseInt(t2, 10);  //变量t1、t2为弱类型,不用重新声明
            document.getElementById("txtresult").value=(t1+t2).toString();//这里的toString()可要可不要,如果不要javascript引擎会自动调用toString()方法
         }
    </script>
</head>
<body onload="click()">
    <input type="text" id="txt1" value="12" />
    <input type="text" id="txt2" value="12" />
    <input type="text" id="txtresult" />
</body>
</html>
作者: 谢玲    时间: 2012-11-25 19:51
,t1=parseInt(t1,10);  
   t2=parseInt(t2,10);  
这两句话是将字符串转变为数字,可以去掉吗?
作者: 吴步兵    时间: 2012-11-26 00:30
  1. t1=parseInt(t1,10);  
  2. t2=parseInt(t2,10);  
复制代码
去掉的话就是字符串t1+字符串t2了吧。如t1="12",t2="12",结果为"1212"
作者: 谢玲    时间: 2012-11-26 08:10

明白
作者: 谢玲    时间: 2012-11-26 08:17
谢谢!





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2