因为没接触过js,所以今天再向大家问个javascript的问题啊。为什么txtTargetMonth文本框失去焦点的时候,值没发生改变呢?需求是这样的:检查txtTargetMonth文本框是否为空,或者不等于今天的日期..就把txtTargetMonth文本框值改成今天的日期..下面是我的代码..
<TD><asp:textbox id="txtTargetMonth" runat="server" Width="96px" MaxLength="15" onblur="IsDate(Form1.txtTargetMonth.value);"></asp:textbox><IMG class="hand" onclick="show_calendar('Form1.txtTargetMonth');" alt="select date(选择日期)"
src="../images/show-calendar.gif" align="absMiddle" border="0"></TD>function IsDate(strD)
{
if(strD=="" || strD==null)
{
return;
}
date = new Date();
strD  = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate();
var strDate=strD;
if(strDate==""||strDate!=strD)
{
return false;
}

else
{
return true;
}

}

解决方案 »

  1.   

    if(strD=="" || strD==null)
    {
    return false;
    }没复制好。
      

  2.   

    js文件里没有给txtTargetMonth赋值,当然不会改变了
      

  3.   

    试试
    onblur="IsDate(this);"function IsDate(obj)
    {
    if(obj==null || obj.value=="" )
    {
    return;
    }
    date = new Date();
    obj.value = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate();
    ...
    }
      

  4.   

    js里的strD 不是HTMl里的txtTargetMonth吗? 怎么赋值哦,原来没我想的那么简单啊。。2楼指点下
      

  5.   

    搂主传的是值,而不是textBox对象。
    <script language="javascript" type="text/javascript">
        function IsDate(strD)
        {
            if(strD.value=="" || strD.value==null)
            {
                return;
            }
            date = new Date();
            strD.value  = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate();
            var strDate=strD.value;
            if(strDate==""||strDate!=strD)
            {
                return false;
            }
                        
            else
            {
                return true;
            }
                    
        }    </script><asp:TextBox ID="txtTargetMonth" runat="server" onblur="IsDate(this);"></asp:TextBox>
      

  6.   

    document.getElementById("txtTargetMonth").value = strD;
      

  7.   

    strD 是HTMl里的txtTargetMonth.value,value只是一个数值
    而不是一个有效的引用。