找了一晚上,实在不行了。
目标(VS2005):
一个Textbox,点一下出现日历控件,对精确到秒的时间进行选择。
asp代码: 
    <script type="text/javascript" language="javascript" src="/calendar.js"</script>
   <asp:TextBox ID="TextBox7" onfocus="setday(this)" runat="server"></asp:TextBox>
cs代码中加了   TextBox7.Attributes .Add ("onfoucs","Javascript:calendar() ")   ;
仍然出现下列错误:
属性“onfocus”不是元素“TextBox”的有效属性。
查了相关帖子,还是不能解决,请指一条明路。。

解决方案 »

  1.   

    在后台写
    TextBox7.Attributes.Add("onfocus","javascript:calender");
      

  2.   

    为什么用onfocus,一般都用onclick吧,你试下吧
      

  3.   

    去掉onfocus="setday(this)" ,在后台TextBox7.Attributes.Add("onfocus","javascript:calender");已经说明让其具有onfocus属性
      

  4.   

    这样试试
    asp代码: 
        <script type="text/javascript" language="javascript" src="/calendar.js" </script> 
      <asp:TextBox ID="TextBox7" runat="server"> </asp:TextBox> cs代码中加了  TextBox7.Attributes .Add ("onfoucs","Javascript:calendar() ")  ; 
      

  5.   

            protected void Page_Load(object sender, EventArgs e)
            {            if (!Page.IsPostBack)
                 {
                       TextBox7.Attributes.Add ("onfoucs","javascript:calendar();"); 
                 }
             }
      

  6.   

    去掉以后,无错误提示。
    但点TextBox不能弹出日历控件。
      

  7.   


    protected void Page_Load(object sender, EventArgs e)
        { 
            if (!IsPostBack)       {
               TextBox7.Attributes.Add("onfoucs", "javascript:calendar();");            
            }
        }<head runat="server">
        <title>故障登记</title>
        
        <script type="text/javascript" language="javascript" src="/calendar.js"></script></head>
    <body style="font-family: Times New Roman; background:#ccffcc;text-align: center;" >
        <form id="form1" runat="server">
        <div style="text-align: center">
      
    <asp:TextBox ID="TextBox7"  runat="server"></asp:TextBox>
    //  主调用函数是 setday(this,[object])和setday(this),[object]是控件输出的控件名,举两个例子:
    //  一、<input name=txt><input type=button value=setday onclick="setday(this,document.all.txt)">
    //  二、<input onfocus="setday(this)">var bMoveable=true;
    var strFrame; document.writeln('<iframe id=endDateLayer frameborder=0 width=162 height=211 style="position: absolute;  z-index: 9998; display: none"></iframe>');
    strFrame='<style>';
    strFrame+='INPUT.button{BORDER-RIGHT: #63A3E9 1px solid;BORDER-TOP: #63A3E9 1px solid;BORDER-LEFT: #63A3E9 1px solid;';
    strFrame+='BORDER-BOTTOM: #63A3E9 1px solid;BACKGROUND-COLOR: #63A3E9;font-family:宋体;}';
    strFrame+='TD{FONT-SIZE: 9pt;font-family:宋体;}';
    strFrame+='</style>';
    strFrame+='<scr' + 'ipt>';
    strFrame+='var datelayerx,datelayery;';
    strFrame+='var bDrag;';
    strFrame+='function document.onmousemove()';
    strFrame+='{if(bDrag && window.event.button==1)';
    strFrame+=' {var DateLayer=parent.document.all.endDateLayer.style;';
    strFrame+=' DateLayer.posLeft += window.event.clientX-datelayerx;';
    strFrame+=' DateLayer.posTop += window.event.clientY-datelayery;}}';
    strFrame+='function DragStart()';
    strFrame+='{var DateLayer=parent.document.all.endDateLayer.style;';
    strFrame+=' datelayerx=window.event.clientX;';
    strFrame+=' datelayery=window.event.clientY;';
    strFrame+=' bDrag=true;}';
    strFrame+='function DragEnd(){';
    strFrame+=' bDrag=false;}';
    strFrame+='</scr' + 'ipt>';
    strFrame+='<div style="z-index:9999;position: absolute; left:0; top:0;" onselectstart="return false">';
    strFrame+='<span id=tmpSelectYearLayer  style="z-index: 9999;position: absolute;top: 3; left: 19;display: none"></span>';
    strFrame+='<span id=tmpSelectMonthLayer  style="z-index: 9999;position: absolute;top: 3; left: 78;display: none"></span>';
    strFrame+='<span id=tmpSelectHourLayer  style="z-index: 9999;position: absolute;top: 188; left: 35px;display: none"></span>';
    strFrame+='<span id=tmpSelectMinuteLayer style="z-index:9999;position:absolute;top: 188; left: 77px;display: none"></span>';
    strFrame+='<span id=tmpSelectSecondLayer style="z-index:9999;position:absolute;top: 188; left: 119px;display: none"></span>';
    strFrame+='<table border=1 cellspacing=0 cellpadding=0 width=142 height=160 bordercolor=#63A3E9 bgcolor=#63A3E9 >';
    strFrame+='    <tr><td width=142 height=23  bgcolor=#FFFFFF>';
    strFrame+='        <table border=0 cellspacing=1 cellpadding=0 width=158  height=23>';
    strFrame+='            <tr align=center >';
    strFrame+='                <td width=16 align=center bgcolor=#63A3E9 style="font-size:12px;cursor: hand;color: #ffffff" ';
    strFrame+='    onclick="parent.meizzPrevM()" title="向前翻 1 月" ><b >&lt;</b></td>';
    strFrame+='    <td width=60 align="center" bgcolor="#63A3E9"  style="font-size:12px;cursor:hand" ';
    strFrame+='        onmouseover="style.backgroundColor=\'#aaccf3\'"';
    strFrame+='    onmouseout="style.backgroundColor=\'#63A3E9\'" ';
    strFrame+='    onclick="parent.tmpSelectYearInnerHTML(this.innerText.substring(0,4))" ';
    strFrame+='    title="点击这里选择年份"><span  id=meizzYearHead></span></td>';
    strFrame+='    <td width=48 align="center" style="font-size:12px;font-color: #ffffff;cursor:hand" ';
    strFrame+='    bgcolor="#63A3E9" onmouseover="style.backgroundColor=\'#aaccf3\'" ';
    strFrame+='    onmouseout="style.backgroundColor=\'#63A3E9\'" ';
    strFrame+='    onclick="parent.tmpSelectMonthInnerHTML(this.innerText.length==3?this.innerText.substring(0,1):this.innerText.substring(0,2))"';
    strFrame+='    title="点击这里选择月份"><span id=meizzMonthHead ></span></td>';
    strFrame+='    <td width=16 bgcolor=#63A3E9 align=center style="font-size:12px;cursor: hand;color: #ffffff" ';
    strFrame+='    onclick="parent.meizzNextM()" title="向后翻 1 月" ><b >&gt;</b></td>';
    strFrame+='    </tr>';
    strFrame+='    </table></td></tr>';
    strFrame+='    <tr><td width=142 height=18 >';
    strFrame+='    <table border=0 cellspacing=0 cellpadding=2 bgcolor=#63A3E9 ' + (bMoveable? 'onmousedown="DragStart()" onmouseup="DragEnd()"':'');
    strFrame+=' BORDERCOLORLIGHT=#63A3E9 BORDERCOLORDARK=#FFFFFF width=140 height=20  style="cursor:' + (bMoveable ? 'move':'default') + '">';
    strFrame+='    <tr><td style="font-size:12px;color:#ffffff" width=20>&nbsp;日</td>';
    strFrame+='<td style="font-size:12px;color:#FFFFFF" >&nbsp;一</td><td style="font-size:12px;color:#FFFFFF">&nbsp;二</td>';
    strFrame+='<td style="font-size:12px;color:#FFFFFF" >&nbsp;三</td><td style="font-size:12px;color:#FFFFFF" >&nbsp;四</td>';
    strFrame+='<td style="font-size:12px;color:#FFFFFF" >&nbsp;五</td><td style="font-size:12px;color:#FFFFFF" >&nbsp;六</td></tr>';
    strFrame+='</table></td></tr>';
    strFrame+='  <tr ><td width=142 height=120 >';
    strFrame+='    <table border=1 cellspacing=2 cellpadding=2 BORDERCOLORLIGHT=#63A3E9 BORDERCOLORDARK=#FFFFFF bgcolor=#fff8ec width=140 height=120 >';
    var n=0; for (j=0;j<5;j++){ strFrame+= ' <tr align=center >'; for (i=0;i<7;i++){
    strFrame+='<td width=20 height=20 id=meizzDay'+n+' style="font-size:12px" onclick=parent.meizzDayClick(this.innerText,0)></td>';n++;}
    strFrame+='</tr>';}
    strFrame+='      <tr align=center >';
    for (i=35;i<37;i++)strFrame+='<td width=20 height=20 id=meizzDay'+i+' style="font-size:12px"  onclick="parent.meizzDayClick(this.innerText,0)"></td>';
    strFrame+='        <td colspan=5 align=right style="color:#1478eb"><span onclick="parent.setNull()" style="font-size:12px;cursor: hand"';
    strFrame+='         onmouseover="style.color=\'#ff0000\'" onmouseout="style.color=\'#1478eb\'" title="将日期置空">置空</span>&nbsp;&nbsp;<span onclick="parent.meizzToday()" style="font-size:12px;cursor: hand"';
    strFrame+='         onmouseover="style.color=\'#ff0000\'" onmouseout="style.color=\'#1478eb\'" title="当前日期时间">当前</span>&nbsp;&nbsp;<span style="cursor:hand" id=evaAllOK onmouseover="style.color=\'#ff0000\'" onmouseout="style.color=\'#1478eb\'"  onclick="parent.closeLayer()" title="关闭日历">关闭&nbsp;</span></td></tr>';
    strFrame+='    </table></td></tr><tr ><td >';
    strFrame+='        <table border=0 cellspacing=1 cellpadding=0 width=100%  bgcolor=#FFFFFF height=22 >';
    strFrame+='          <tr bgcolor="#63A3E9"><td id=bUseTimeLayer width=30  style="cursor:hand" title="点击这里启用/禁用时间"';
    strFrame+=' onmouseover="style.backgroundColor=\'#aaccf3\'" align=center onmouseout="style.backgroundColor=\'#63A3E9\'"';
    strFrame+='  onclick="parent.UseTime(this)">';
    strFrame+=' <span></span></td>';
    strFrame+='             <td style="cursor:hand" onclick="parent.tmpSelectHourInnerHTML(this.innerText.length==3?this.innerText.substring(0,1):this.innerText.substring(0,2))"';
    strFrame+=' onmouseover="style.backgroundColor=\'#aaccf3\'" onmouseout="style.backgroundColor=\'#63A3E9\'"';
    //未完
      

  8.   


     protected void Page_Load(object sender, EventArgs e)
        { 
            if (!IsPostBack)       {           TextBox7.Attributes.Add("onClientClick", "javascript:calendar();"); 
                TextBox4.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                
            }
        }无错误提示。 
    但点TextBox不能弹出日历控件。还是不行...  没有执行
      

  9.   

    calendar.js 文件应该没有问题,放在同一个文件夹下面,而且不用asp用html方式都能正常调用.
      

  10.   

    我觉的开发首先要仔细,保证格式拼写完全正确。
    onfoucs
    你的拼写有错误
    正确写法:onfocus
      

  11.   

    sorry,改正后"网页上有错误",详细信息为"缺少对象"....
      

  12.   

    <asp:TextBox ID="TextBox7" onfocus="setday(this)" runat="server"> </asp:TextBox> 这是没问题的,你可以放心就这样使用,即使 VS 编译或者提示错误,这是VS的验证功能而已。
      

  13.   

     onfocus="setday(this)" 
    TextBox7.Attributes .Add ("onfoucs","
    这两个都不一样!
      

  14.   


    同意,一般onfocus是没问题的,可以用。
      

  15.   

    <asp:TextBox ID="txtStartDate" runat="server" onfocus="calendar()"></asp:TextBox>
    直接用就可以!!!
      

  16.   

    书写错误:应该是"onfocus"而不是"onfoucs"
      

  17.   

    sorrry,已经改正,提示"网页上有错误",详细信息为"缺少对象"
      

  18.   

    我写错了,函数忘了加括号
    TextBox7.Attributes.Add("onfocus","javascript:calender()"); 
    应该可以的
      

  19.   

    如果改了不行,应该是你的calendar.js里有问题。
    你试一下调用一个简单的JavaScript方法,
    onfocus="JavaScript:alert('test')"