日期:2014-05-16  浏览次数:20577 次

innerhtml兼容性问题,求解决!
以下代码,在windowsIE、360浏览器显示正常,在windows搜狗、手机浏览器(chrome、UC浏览器、360浏览器)不能正常显示,求解决。
<script language="javascript">
function heji()
{
var t1,t;
obj = document.getElementById("shuliang1");
obj2 = document.getElementById("yuanjia");
t=obj.value*obj2.value;
t1=obj.value*1
document.getElementById("heji").innerHTML = t1+"件"+(Math.round(t*100)/100)+"元"
}
</script>
<form method="post" name="myform" >
数量:<input type="text" name="shuliang1" size="3" tabindex="6">
金额:<input type="text" name="yuanjia" size="3" tabindex="6">

<input type="button" value="计  算" onClick="heji();" class="button">&nbsp;<span id="heji"></span>
</form>

------解决方案--------------------
元素只有name没有id,需要用getElementsByName

		obj = document.getElementsByName("shuliang1")[0];
obj2 = document.getElementsByName("yuanjia")[0];


另外你的代码写的有问题:
1、能用英文就用英文,别用拼音命名标识符 “heji”。。。能专业点吗?“sum()、total()、calc()”
2、尽量减少全局变量,heji、obj、obj2都是全局变量;
3、代码没有递进,没有适当空白,没有风格。

说多了都是泪
------解决方案--------------------
可以用jquery,把name改成class
obj = $('.shuliang1').val();
        obj2 = $('.yuanjia').val();
t=obj*obj2;