<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="css.css" rel="stylesheet" type="text/css" />
<title>量产数据计算器</title>
</head>
<body>
<!--输入值表单-->
<div id="box">
<form>
  <fieldset>
<legend><span>量产编号:<input type="text" id="inputbainhao" class="tt"/>
  基本码号: <input type="text" id="basem" class="ttt"/>
  从 <input type="text" id="minm" class="ttt"/>
  到 <input type="text" id="maxm" class="ttt"/>码</span>
</legend>
<span>本码X: <input type="text" id="basex" name="basem" class="textstyle"/></span>
<span>本码Y: <input type="text" id="basey" class="textstyle"/></span>
<span>本码Z: <input type="text" id="basez" class="textstyle"/></span><br/>
<span>码差X: <input type="text" id="mcx" class="textstyle"/></span>
<span>码差Y: <input type="text" id="mcy" class="textstyle"/></span>
<span>码差Z: <input type="text" id="mcz" class="textstyle"/></span>
<input type="button" value="计算数据" onclick="lc()"/>
</fieldset>
</form>
</div><br/><br/><br/> <!--输入值表单结束--><div id="lc"> <!--显示量产-->
<table id="tableid" >   <!--表格开始-->
  <tr>
    <td colspan="8" class="td1"><span class="td0">编号:</span><input type="text" id="bh" class="td0">这里改不了</td>
  </tr>
  <tr>
    <td width="60" rowspan="2" class="td1">码号</td>
    <td colspan="3"class="td1">尺寸</td>
    <td colspan="3" class="td1">比值</td>
    <td width="150" rowspan="2" class="td1">备注</td>
  </tr>
  <tr>
    <td width="80" class="td1">X</td>
    <td width="80" class="td1">Y</td>
    <td width="80" class="td1">Z</td>
    <td width="80" class="td1">X</td>
    <td width="80" class="td1">Y</td>
    <td width="80" class="td1">Z</td>
  </tr>
<!--下面表格循环输出--></table> <!--表格结束-->
</div> <!--显示量产结束-->
<!--JS计算码数-->
<script language="javascript">
function lc() {
//代入值
bianhao=document.getElementById("inputbainhao").value;
basem = Number(document.getElementById("basem").value);
minm = Number(document.getElementById("minm").value);
maxm= Number(document.getElementById("maxm").value);
basex= Number(document.getElementById("basex").value);
basey= Number(document.getElementById("basey").value);
basez= Number(document.getElementById("basez").value);
mcx= Number(document.getElementById("mcx").value);
mcy= Number(document.getElementById("mcy").value);
mcz= Number(document.getElementById("mcz").value);
//先得最小码
zxx=basex-(basem-minm)*mcx;
alert('x'+zxx);
zxy=basey-(basem-minm)*mcy;
alert('y'+zxy);
zxz=basez-(basem-minm)*mcz;
alert('z'+zxz);
alert(bianhao);
//计算全部
document.getElementById("bh").value = String(bianhao);就这一句改不了上面的值
var  j=1 ; //码差增加倍数
for (var i=minm; i<=maxm; i++) {
if(i==basem){ //等于本码CSS为红色,粗体
document.getElementById("lc").innerHTML += i+'本码<br/>';
}else{
document.getElementById("lc").innerHTML += i+'码<br/>';
}
} //for结束
} //lc()结束
</script> <!--JS计算码数结束-->
</body>
</html>

解决方案 »

  1.   

    ie可以,chrome不能,你试的哪个啊
      

  2.   

    很有趣,你没加注解,到红色部分出错了反而可以生效,加了注释,就不生效了, //计算全部
            document.getElementById("bh").value = String(bianhao);//就这一句改不了上面的值跟踪了一下,
    var  j=1 ; //码差增加倍数
    for (var i=minm; i<=maxm; i++) {
    console.log(document.getElementById("bh").value);
    if(i==basem){ //等于本码CSS为红色,粗体
    console.log(document.getElementById("bh").value);//有结果
    document.getElementById("lc").innerHTML += i+'本码<br/>';
    console.log(document.getElementById("bh").value);//变成空字符串了
    }else{
    console.log(document.getElementById("bh").value);
    document.getElementById("lc").innerHTML += i+'码<br/>';
    console.log(document.getElementById("bh").value);
    }
    } //for结束
      

  3.   

    document.getElementById("lc").innerHTML += i+'码<br/>';
    问题出在这里,document.getElementById("lc").innerHTML,可能chrome得到的是value=String(bianhao);之前的HTML,所以你这样更新数据,value又给设回原来的值了。