首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 大侠们帮我看看一个js的问题 [已结贴,结贴人:warrenv33]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • warrenv33
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-21 15:47:15 楼主
    为什么我在"t11"输入5,"t22"输入10的时候,v1>v2是true呢?
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>test.html </title>
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    </head>

    <body>
    This is my HTML page.
    <br>
    <input type="text" id="t11" value="" />
    <input type="text" id="t22" value="" />

    <input type="button" id="b1" value="click" onclick="gocheck()" />
    </body>
    <script type="text/javascript">
      function gocheck() {
      var v1 = document.getElementById("t11").value;
      var v2 = document.getElementById("t22").value;
      alert(v1+" | "+v2+" | "+(v1==5)+" | "+(v2==10)+" | "+(v1>v2));
      }
      </script>
    </html>
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xumv_com
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 16:31:551楼 得分:20
    问题解决:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>test.html </title>
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    </head>

    <body>
    This is my HTML page.
    <br>
    <input type="text" id="t11" value="" />
    <input type="text" id="t22" value="" />

    <input type="button" id="b1" value="click" onclick="gocheck()" />
    </body>
    <script type="text/javascript">
      function gocheck() {
      var v1 = document.getElementById("t11").value*1;
      var v2 = document.getElementById("t22").value*1;

      alert(v1+" ¦ "+v2+" ¦ "+(v1==5)+" ¦ "+(v2==10)+" ¦ "+(v1>v2));
      }
      </script>
    </html>

    乘以1过后把v1简单转换为数值
    不然v1,v2都是以字符串处理
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • pippe
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 16:39:072楼 得分:30
    var v1 = document.getElementById("t11").value;
    var v2 = document.getElementById("t22").value;
    取出来的是string类型的
    string类型的对比是比第一个字,如果第一个字相等再比第二个,数以此类推

    "5"的第一个字"5","10"的第一个字"1"
    "5">"1",所以"5">"10"

    如果要做数字对比需要转换成数字
    var v1 = parseInt(document.getElementById("t11").value);
    var v2 = parseInt(document.getElementById("t22").value);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • happy002
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 16:41:593楼 得分:0
    ls正解~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • okvee
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 16:47:554楼 得分:0
    javscript是弱语意,除了一楼说的,还可以强制转化
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • myvicy
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 3

      3

    发表于:2008-08-21 17:15:035楼 得分:0
      function gocheck() {
      var v1 = parseInt(document.getElementById("t11").value);
      var v2 = parseInt(document.getElementById("t22").value);
      alert(v1+" ¦ "+v2+" ¦ "+(v1==5)+" ¦ "+(v2==10)+" ¦ "+(v1>v2));
      }
    需要转化成数字,否则会按字符串比较。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved