2012-07-17 54 views
0

我試圖添加TextBox ID =「tbComment」時日期選擇如果小於客戶端上當前日期點擊提交按鈕之前。動態生成html和驗證以及

哪種方式會更好?我試過去的JavaScript的方式,但我不知道爲什麼,但頁面加載失敗。

我知道有一個文本框的「onTextChanged」事件時,我們可以調用一個JavaScript,但如何實現它來添加HTML當選擇的日期小於客戶端的當前日期?

<table class="sidemenu" id="BudgetDetailsTable" align="left" border="0" runat="server" 
        width="100%"> 
        <tr> 
         <td width="20%"> 
          Project Period Start Date: 
         </td> 
         <td width="80%"> 
          <asp:TextBox ID="txtFromDate" title="Click to select date" Style="cursor: pointer" 
           runat="server" CssClass="textboxunderline" EnableViewState="true" TabIndex="1"></asp:TextBox><asp:RequiredFieldValidator 
            ID="rfvFromDate" runat="server" ErrorMessage="<br /> - Please provide Start Date." 
            ControlToValidate="txtFromDate">*</asp:RequiredFieldValidator><asp:CompareValidator 
             ID="cvFromDate" runat="server" ErrorMessage="<br /> - Please provide valid From date. From date should be before End date." 
             ControlToValidate="txtFromDate" Display="dynamic" Type="Date" Operator="LessThanEqual" 
             ControlToCompare="txtEndDate">* 
            </asp:CompareValidator> 
            <asp:CustomValidator ID="cvBeforeDate" runat="server" ErrorMessage="<br /> - Please provide a reason to for adding a sheet having start date before today's date." 
           OnServerValidate="cvCheck_StartDate">* </asp:CustomValidator> 

         </td> 
        </tr> 
        <tr> 
         <td width="20%"> 
          Project Period End Date: 
         </td> 
         <td width="80%"> 
          <asp:TextBox ID="txtEndDate" title="Click to select date" Style="cursor: pointer" 
           runat="server" CssClass="textboxunderline" EnableViewState="true" TabIndex="2"></asp:TextBox><asp:RequiredFieldValidator 
            ID="rfvEndDate" runat="server" ErrorMessage=" <br /> - Please provide End Date." 
            ControlToValidate="txtEndDate">* </asp:RequiredFieldValidator><asp:CompareValidator 
             ID="cvEndDate" runat="server" ErrorMessage="<br /> - Please provide valid End date. End date should be larger than From date." 
             ControlToValidate="txtEndDate" Display="dynamic" Type="Date" Operator="GreaterThanEqual" 
             ControlToCompare="txtFromDate">* 
            </asp:CompareValidator> 
          <asp:CustomValidator ID="cvDateMonth" runat="server" ErrorMessage="<br /> - Please provide start day and month different to end day and month." 
            ClientValidationFunction="cvDateMonth_ServerValidate">*</asp:CustomValidator> 
         </td> 
        </tr> 
        <tr> 
         <td width="20%" > 
          <asp:Label ID="Reason" CssClass="sidemenu" runat="server" Visible="False">Reason:</asp:Label>          
         </td> 
         <td width="80%" > 
          <asp:TextBox ID="tbComment" runat="server" Visible="False" TabIndex="3" 
           CausesValidation="false" Width="646px" Enabled="False"></asp:TextBox><asp:RequiredFieldValidator 
           ID="rfvReason" runat="server" CssClass="requiredStar" ErrorMessage="<br /> - Please provide a reason to submit a proposal who's start date is before Today's date." 
           ControlToValidate="tbComment">* </asp:RequiredFieldValidator> 

         </td> 
        </tr> 
+0

什麼是您的Javascript代碼?什麼錯誤是「彈出」?你能否更好地縮進代碼片段? – millimoose 2012-07-17 19:49:37

+0

錯誤基本上是當我嘗試添加JavaScript並在文本上調用函數時,表單無法加載 – Omair 2012-07-17 20:01:25

+0

這只是說「錯誤是它沒有工作」。具體一點,包括代碼,說出發生了什麼(包括來自Javascript控制檯的錯誤,如果有的話)以及你期望發生的事情。使用您試圖執行的簡單HTML測試案例,最好製作[jsFiddle](http://jsfiddle.net/)。 – millimoose 2012-07-17 20:03:53

回答

0

您可以使用(element).innerHTML直接修改元素的源代碼。這不應該給你一個錯誤,但也許別人有一個更高層次的方法?