<asp:TextBox ID="TextBox1" runat="server" onfocus="DisplayStartCal()"></asp:TextBox>
<asp:Calendar ID="Calendar_KEYIN_REPORT_START" style="display:block" runat="server" BackColor="White"><script language="javascript" type="text/javascript"> 
function DisplayStartCal() { 
document.getElementById("Calendar_KEYIN_REPORT_START").style.display = "block"; 
} </script>想在選中編輯框的時候彈出日曆框。
但是在執行過程中提示:Uncaught TypeError: Cannot read property 'style' of null 
兩個問題:
1. 怎麼修復上面的error?
2. 請問如果用jquery操作,要怎麼寫?(自己寫了個被控制台提示‘$’無法識別,=。 =)

解决方案 »

  1.   

    document.getElementById('<%=Calendar_KEYIN_REPORT_START.ClientID>').style.display = "block"; 
      

  2.   

    多謝 hdt。但還是不行。
    仍然提示:Uncaught TypeError: Cannot read property 'style' of null
    跟這個有關么?
    <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
      

  3.   

    我在chrome瀏覽器的js控制台下得到如下:
    <script language="javascript" type="text/javascript">
    function DisplayStartCal() {
        var elemt = document.getElementById("MainContent_Calendar_KEYIN_REPORT_START");
        elemt.style.display = "block";
    Uncaught TypeError: Cannot read property 'style' of null
        }
    這里的ClientID是asp:content+controlID的組合。elemt總是為null,感覺還是ID錯誤的原因。請高手指點下。
      

  4.   

    如果不打算对id作什么变化,就把你从html看到的id写进去吧
      

  5.   

    <%@ Page Language="C#" CodePage="936" AutoEventWireup="true" MasterPageFile="~/Site.master" CodeBehind="KEYIN_STATION.aspx.cs" Inherits="eRepairWeb.Function.KEYIN_STATION" %>
    <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
        <style type="text/css">
            .style1
            {
                width: 439px;
            }
            .style2
            {
                height: 19px;
            }
        </style>
    </asp:Content>
    <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <link rel="stylesheet" href="../Styles/YahooGridView.css" type="text/css"><script type="text/javascript" language="javascript" src="../Scripts/JScriptDataTime.js" charset="utf-8"></script><table border="1">
    <tr>
    <td width="40%">
    <table border="0" cellspacing="0" cellpadding="0" width="100%" onclick="return false">    <tr>
        <td><asp:Label ID="Label3" runat="server" Text="Serial_NO:"></asp:Label></td>
        <td><input id="Text0" name="Text0" type="text" onkeydown="KEYIN_Serial_NO_CHANGED()" runat="server" />
        <script type="text/javascript" language="javascript">
            function KEYIN_Serial_NO_CHANGED() {
                document.getElementById("Text0").Focus();
            }    </script>

            <asp:Label 
                ID="Labeli0" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
            </td>
        </tr>
        <tr>
        <td><asp:Label ID="Label4" runat="server" Text="MCard_UA:"></asp:Label></td>
        <td><input id="Text1" name="Text1" type="text" onkeydown="KEYIN_MCard_UA_CHANGED()" runat="server" /><asp:Label 
                ID="Labeli1" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
            </td>
        </tr>
        <tr>
        <td><asp:Label ID="Label5" runat="server" Text="MCard_SN:"></asp:Label></td>
        <td><input id="Text2" name="Text2" type="text" onchange="KEYIN_MCard_SN_CHANGED" runat="server" /><asp:Label 
                ID="Labeli2" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
            </td>
        </tr>
        <tr>
        <td class="style2"><asp:Label ID="Label6" runat="server" Text="Docsis_Mac:"></asp:Label></td>
        <td class="style2"><input id="Text3" name="Text3" type="text" onkeydown="KEYIN_Docsis_Mac_CHANGED" runat="server" /><asp:Label 
                ID="Labeli3" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
            </td>
        </tr>
        <tr>
        <td><asp:Label ID="Label7" runat="server" Text="SSID:"></asp:Label></td>
        <td><input id="Text4" name="Text4" type="text" onkeydown="KEYIN_SSID_CHANGED" runat="server" /><asp:Label 
                ID="Labeli4" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
            </td>
        </tr>
        <tr>
        <td><asp:Label ID="Label8" runat="server" Text="Passphrase:"></asp:Label></td>
        <td><input id="Text5" name="Text5" type="text" onkeydown="KEYIN_Passphrase_CHANGED" runat="server" /><asp:Label 
                ID="Labeli5" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
            </td>
        </tr>
        <tr>
        <td><asp:Label ID="Label9" runat="server" Text="Password:"></asp:Label></td>
        <td><input id="Text6" name="Text6" type="text" onkeydown="KEYIN_Password_CHANGED" runat="server" /><asp:Label 
                ID="Labeli6" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
            </td>
        </tr>
        <tr>
        <td><asp:Label ID="Label10" runat="server" Text="Additional_Info:"></asp:Label></td>
        <td><input id="Text7" name="Text7" type="text" onkeydown="KEYIN_Additional_Info_CHANGED" runat="server" /><asp:Label 
                ID="Labeli7" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
            </td>
        </tr>
        <tr>
        <td><asp:Label ID="Label11" runat="server" Text="Preshared_Key:"></asp:Label></td>
        <td><input id="Text8" name="Text8" type="text" onkeydown="KEYIN_Preshared_Key_CHANGED" runat="server" /><asp:Label 
                ID="Labeli8" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
            </td>
        </tr>
            <tr>
        <td><asp:Label ID="Label12" runat="server" Text="Network_Key:"></asp:Label></td>
        <td><input id="Text9" name="Text9" type="text" onkeydown="KEYIN_Network_Key_CHANGED" runat="server" /><asp:Label 
                ID="Labeli9" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
                </td>
        </tr>
            <tr>
        <td><asp:Label ID="Label13" runat="server" Text="WPS_Pin:"></asp:Label></td>
        <td><input id="Text10" name="Text10" type="text" onkeydown="KEYIN_WPS_Pin_CHANGED" runat="server" /><asp:Label 
                ID="Labeli10" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
                </td>
        </tr>
                <tr>
        <td><asp:Label ID="Label14" runat="server" Text="Customer_Failure:"></asp:Label></td>
        <td><input id="Text11" name="Text11" type="text" onkeydown="KEYIN_Customer_Failure_CHANGED" runat="server" /><asp:Label 
                ID="Labeli11" runat="server" Text="Label" Visible="False" ForeColor="Red"></asp:Label>
                    </td>
        </tr>
        <tr>
        <td align="center">
            <asp:Button ID="Insert" runat="server" Text="Insert" OnClick="Insert_KEYIN"/>
        </td>
        <td align="center">
            <asp:Button ID="Cancel" runat="server" Text="Reset" OnClick="Cancel_KEYIN"/>
        </td>
        </tr>
    </table>
        </td>
        <td width="20%"></td>
    <td class="style1">
    <table border="0" cellspacing="0" cellpadding="0" width="100%">
    <tr>
    <td>
                <asp:Label ID="Label1" runat="server" Text="Start Date:"></asp:Label>
                <asp:TextBox ID="TextBox1" runat="server" onfocus="HS_setDate(this)"></asp:TextBox>
            </td>
    </tr>
        <tr>
        <td>
          <asp:Label ID="Label2" runat="server" Text="End Date:"></asp:Label>
          <asp:TextBox ID="TextBox2" runat="server" onfocus="HS_setDate(this)"></asp:TextBox>
          </td>
        </tr>
        <tr>
        <td>
        <asp:ImageButton ID="ImageButton1" runat="server" 
            ImageUrl="~/Styles/KEYIN_REPORT.jpg" onclick="ImageButton1_Click" 
            ToolTip="Go REPORT!!!" />
        </td>
        </tr>
    </table>
    </td>
    </tr>
    </table>
        </asp:Content>請看到<td><input id="Text0">,想使用腳本強制設置焦點到下一個控件,結果getElementById還是無法返回正確的control對象。
    苦惱了很久了。請大家指教啊。
      

  6.   

    搞定了,這次通過查看瀏覽器的頁面文本,看到ID為MainContent_Text1,應該是asp.net的<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">標籤給附加上的。奇怪了,我有嘗試在文本裏面獲取<%=Text1.ID%>,但是仍失敗,理論上這個返回的是實際ID。