2013-08-20 3 views
0

Необработанное исключение в строке 289, колонка 13 в локальном хосте: 3659/advancesearch.aspxТребуется объект ошибки в JavaScript, даже при вызове функции правильно

0x800a01a8 - Microsoft JScript ошибка выполнения: Объект требуется

Я звоню правильная функция, но ошибка сохраняется.

HTML код:

<script type="text/javascript" language="javascript"> 
    function CompareDate() { 
     debugger; 
     var fromDate = document.getElementById("fromtxtbox").value; (line 289) 
     var toDate = document.getElementById("totextbox").value; 
     var endDate = new Date(toDate); 
     var startDate = new Date(fromDate); 

     if (fromDate != '' && toDate != '' && startDate > endDate) { 
      alert('end date should be greater than or equal to start date'); 
      document.getElementById('totextbox').value = ""; 
      return false; 
     } 
     else if (fromDate == '') { 
      alert('Please enter start date!'); 
      document.getElementById('fromtxtbox').focus(); 
      return false; 
     } 
     else if (toDate == '') { 
      alert('Please enter end date!'); 
      return false; 
     } 
     else if (fromDate == '' && endDate != '') { 
      alert('please select from date!'); 
      return false; 
     } 
    } 

</script> 

<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0"> 
    <asp:View ID="view1" runat="server"> 


     <table align="left" cellspacing="5" width="590"> 
      <tr> 
       <td colspan="3" style="background-color: #D3D8DE;"> 
        <table cellpadding="0" cellspacing="0" 
         style="border-top: 1px solid rgb(51, 102, 204);" width="100%"> 
         <tr> 
          <td style="height: 9px">&nbsp;Advanced Search</td> 
         </tr> 
        </table> 
       </td> 
      </tr> 
      <tr> 
       <td>&nbsp;</td> 
       <td>&nbsp;</td> 
       <td>&nbsp;</td> 
      </tr> 
      <tr id="sc" runat="server"> 
       <td align="right">Select Classified</td> 
       <td>:</td> 
       <td> 
        <asp:RadioButton ID="radiobtnclass" runat="server" Text="class" GroupName="q" 
         AutoPostBack="True" Checked="True" ValidationGroup="1" /> 
        <asp:RadioButton ID="radiobtnDemo" runat="server" GroupName="q" Text="demo" 
         AutoPostBack="True" ValidationGroup="1" /> 
        &nbsp;<asp:Label ID="Label1" runat="server" Text="Select Demo/Class" 
         Visible="False" ForeColor="#FF3300"></asp:Label></td> 
      </tr> 
      <tr> 
       <td align="right">Category </td> 
       <td>:</td> 
       <td> 

        <asp:DropDownList ID="ddcategory" runat="server" Width="120px" Height="20px" 
         AutoPostBack="True" OnSelectedIndexChanged="ddcategory_SelectedIndexChanged1"> 
         <asp:ListItem Value="--select All--">--select All--</asp:ListItem> 
         <asp:ListItem Value="Software Training">Software Training</asp:ListItem> 
         <asp:ListItem Value="Call Center/BPO">Call Center/BPO</asp:ListItem> 
         <asp:ListItem Value="Non-IT Training">Non-IT Training</asp:ListItem> 
         <asp:ListItem Value="Medical Transcription">Medical Transcription</asp:ListItem> 
         <asp:ListItem Value="Spoken English">Spoken English</asp:ListItem> 
        </asp:DropDownList> 
       </td> 
      </tr> 
      <tr> 
       <td align="right">Course Name</td> 
       <td>:</td> 
       <td> 
        <asp:DropDownList ID="ddcoursename" runat="server" Width="120px" Height="20px"> 
        </asp:DropDownList> 
       </td> 
      </tr> 
      <tr> 
       <td align="right">City</td> 
       <td>:</td> 
       <td> 
        <asp:DropDownList ID="ddcity" runat="server" Width="120px"> 
        </asp:DropDownList> 
       </td> 
      </tr> 
      <tr> 
       <td align="right">Date</td> 
       <td>:</td> 
       <td>From&nbsp;&nbsp; 
        <asp:TextBox ID="fromtxtbox" runat="server"></asp:TextBox> 
        <cc1:CalendarExtender ID="fromtxtbox_CalendarExtender" runat="server" 
         Enabled="True" TargetControlID="fromtxtbox" PopupPosition="TopLeft"> 
        </cc1:CalendarExtender> 
        To<asp:CompareValidator ID="tocomparevalidator" runat="server" 
         ControlToCompare="totextbox" ControlToValidate="fromtxtbox" Display="Dynamic" 
         ErrorMessage="Selected date should be greater than or equal to From date" 
         Operator="LessThanEqual" Type="Date" 
         OnDataBinding="Page_Load" ValidationGroup="a"></asp:CompareValidator> 
        <asp:TextBox ID="totextbox" runat="server"></asp:TextBox> 
        <cc1:CalendarExtender ID="totextbox_CalendarExtender" runat="server" Enabled="True" 
          TargetControlID="totextbox" PopupPosition="TopRight"> 
        </cc1:CalendarExtender> 
       </td> 
      </tr> 

      <tr> 
       <td colspan="3" align="center" style="height: 35px">&nbsp; 
     <br /> 
        <asp:Button ID="advancesearch_btn" runat="server" Text="search" 
         OnClick="Button1_Click" OnClientClick="javascript:return CompareDate();" ValidationGroup="a" /> 
        <asp:Label ID="Label22" runat="server" Text="Label" Visible="False"></asp:Label> 
        <asp:Label ID="Label21" runat="server" Text="Label" Visible="False"></asp:Label> 
+1

Какая строка 289 ?? –

+1

Упоминайте, к чему относится линия 289? Также как объяснить, что вы видите, когда используете «отладчик»? Часто атрибуты «id» элементов управления ASP.NET изменяются, чтобы сделать их уникальными (в случае, если они находятся в каком-то контейнере, который повторяется или что-то еще). Поэтому я не удивлюсь, если ваши вызовы 'document.getElementById' терпят неудачу. Обычно вы используете что-то вроде 'document.getElementById ("<% = fromtxtbox.ClientID%>") значение;' – Ian

ответ

0

изменение <asp:TextBox ID="fromtxtbox" runat="server"></asp:TextBox>

к: <asp:TextBox ID="fromtxtbox" ClientIDMode="Static" runat="server"></asp:TextBox>

Если вы посмотрите на исходный код страницы вы увидите, что свойство Id контроля диапазона не " fromtxtbox "

+0

Часть исходной страницы будет выглядеть так:. От     <имя входного = "ctl00 $ CP1 $ fromtxtbox»Тип = "текст" ID = "fromtxtbox"/> To <ид = Пролет "" стиль = "CP1_tocomparevalidator дисплей: нет;"> Выбранная дата должна быть больше или равна с даты имя <входной = "ctl00 $ CP1 $ totextbox" type = "text" id = "totextbox" /> Да, идентификатор span не является «fromtxtbox». Зачем? –

+0

Поскольку идентификатор отображается на стороне сервера механизмом ASP.NET. при добавлении свойства ClientIDMode = "Static" это означает, что он не использует этот движок и использует указанный вами идентификатор. –

Смежные вопросы