为何chrome不能更改ID为bh的text的值,IE可以

lengye0913 2013-04-06 12:20:25
<!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>
...全文
184 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lengye0913 2013-04-06
  • 打赏
  • 举报
回复
ie可以,chrome不能,你试的哪个啊
ftiger 2013-04-06
  • 打赏
  • 举报
回复
我测试是可以改啊。
lengye0913 2013-04-06
  • 打赏
  • 举报
回复
引用 5 楼 ftiger 的回复:
document.getElementById("lc").innerHTML += i+'码<br/>'; 问题出在这里,document.getElementById("lc").innerHTML,可能chrome得到的是value=String(bianhao);之前的HTML,所以你这样更新数据,value又给设回原来的值了。
好像是这问题,请问如何是好啊,谢谢
ftiger 2013-04-06
  • 打赏
  • 举报
回复
document.getElementById("lc").innerHTML += i+'码<br/>'; 问题出在这里,document.getElementById("lc").innerHTML,可能chrome得到的是value=String(bianhao);之前的HTML,所以你这样更新数据,value又给设回原来的值了。
ftiger 2013-04-06
  • 打赏
  • 举报
回复
很有趣,你没加注解,到红色部分出错了反而可以生效,加了注释,就不生效了, //计算全部 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结束

ftiger 2013-04-06
  • 打赏
  • 举报
回复
嗯,没注意看源码,就看到你页面那里有个 这里改不了,我随便输输确定那里就变了。 你要输入什么数据,要得到什么结果?

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧