function addPoint()
{
if(curState == "beStart" || curState == "beInteger")
{
document.getElementById('cal').total.value += ".";
curState = "beFloat";
}
else
{
var myTextRange = document.getElementById('cal').createTextRange();
if(myTextRange.findText("."))
{
document.getElementById('cal').total.value += ".";
}
}
}可以看到ELSE中我想判断这个文本框中是否已经有过小数点如果有就不添加没有则添加上但是无法执行成功请问高手如果解决这个问题

解决方案 »

  1.   

    function addPoint()
    {
    if(curState == "beStart" || curState == "beInteger")
    {
    document.getElementById('cal').total.value += ".";
    curState = "beFloat";
    }
    else
    {
    var myTextRange = document.getElementById('cal').createTextRange();
    var re = /./g;
    var r = myTextRange.match(re);
    if(r==null)
    {
    document.getElementById('cal').total.value += ".";
    }
    }
    }
      

  2.   

    谢谢 zhaolei830205() 冒失你的方法没有效果 cal 是一个文本框.点击的时候还是无法加上 .
      

  3.   

    length()获得边界上限
    charAt(i)为循环体
    在if中判断吧 !判断采用正则应该有速度!
      

  4.   

    把“document.getElementById('cal').total.value” 中的 “total”去掉看看