代码如下:
<script>
function accMul(arg1,arg2){
var m=0,s1=arg1.toString(),s2=arg2.toString();
try{m+=s1.split(".")[1].length}catch(e){}
try{m+=s2.split(".")[1].length}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
} function accDiv(arg1,arg2){
if (arg2==0 || arg2=="")
arg2="1";
var t1=0,t2=0,r1,r2;
try{t1=arg1.toString().split(".")[1].length}catch(e){}
try{t2=arg2.toString().split(".")[1].length}catch(e){}
with(Math){
r1=Number(arg1.toString().replace(".",""))
r2=Number(arg2.toString().replace(".",""))
return (r1/r2)*pow(10,t2-t1);
}
}
function clearNoNum1(obj)
{
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d.]/g,"");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,".");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); if (obj.value!=""){
document.getElementById("rmb1").innerText=accMul(obj.value,<%=exchange_rate%>).toFixed(2);
}
}
function clearNoNum2(obj)
{
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d.]/g,"");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,".");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); if (obj.value!=""){
document.getElementById("usd2").innerText=accDiv(obj.value,<%=exchange_rate%>).toFixed(2);
}
}
</script><table>
 <tr> 
            <td>&nbsp; </td>
            <td class="f18 fbold"><input name="usd1" type="text" id="usd1" style="width:80px;"  onkeyup="clearNoNum1(this)" maxlength="7" > &nbsp;美&nbsp;&nbsp;&nbsp;&nbsp;元&nbsp;=&nbsp;<span id="rmb1" class="f18 forange fnumber fbold">0</span>人民币</td>
          </tr>
          <tr> 
            <td>&nbsp;</td>
            <td class="f18 fbold"><input name="rmb2" type="text" id="rmb2" style="width:80px;"  onkeyup="clearNoNum2(this)" maxlength="7" > &nbsp;人民币&nbsp;=&nbsp;<span id="usd2" class="f18 forange fnumber fbold">0</span>美&nbsp;&nbsp;&nbsp;元</td>
          </tr><table>
这段代码放在IE里是可以的,但放在火狐里就不行,请高手帮忙!!!急,谢谢!

解决方案 »

  1.   

    FF没有innerText属性,改成innerHTMLdocument.getElementById("usd2").innerText=accDiv(obj.value, <%=exchange_rate%>).toFixed(2); ==》document.getElementById("usd2").innerHTML=accDiv(obj.value, <%=exchange_rate%>).toFixed(2); 
      

  2.   

    document.getElementById("rmb1").Text=accMul(obj.value, <%=exchange_rate%>).toFixed(2); ====>
    document.getElementById("rmb1").innerHTML=accMul(obj.value, <%=exchange_rate%>).toFixed(2); 
    document.getElementById("usd2").innerText=accDiv(obj.value, <%=exchange_rate%>).toFixed(2); document.getElementById("usd2").innerHTML=accDiv(obj.value, <%=exchange_rate%>).toFixed(2); 
      

  3.   

    FF中对应innerText的属性是contentTextif (ie) element.innerText = "val";
    else element.contentText = "val";innerHTML属性都有的