This is a migrated thread and some comments may be shown as answers.

[Solved] $find... not working after ajax postback

3 Answers 174 Views
ComboBox
This is a migrated thread and some comments may be shown as answers.
Ken Lester
Top achievements
Rank 1
Ken Lester asked on 02 Oct 2009, 03:25 AM
I have 2 ComboBox(cboA,cboB) and 1 Textbox in a Page.
When the cboA _SelectedIndexChanged (Server Side, AJax Postback), it will base on some condition to enable or disable cboB.
If cboB enabled and when cboB_OnClientSelectedIndexChanged(Client Side), it will call JS Script to Show or Hide the textbox.

Here is the JS script:
 
        function ShowHideTextbox() { 
            var cboB = $find("<%= cboB.ClientID %>"); 
            var txtbox = $find("<%= textbox1.ClientID %>"); 
 
            var SelectedText = cboB.get_text(); 
 
            if (SelectedText == 'Other') { 
                txtbox.set_visible(true); 
            } 
            else { 
                txtbox.set_visible(false); 
            } 
        } 

Every time I will get the following error when the above script reach on this line var SelectedText = cboB.get_text();
"Microsoft JScript runtime error: 'null' is null or not an object".

3 Answers, 1 is accepted

Sort by
0
Ken Lester
Top achievements
Rank 1
answered on 02 Oct 2009, 04:14 PM
any1 can help on this?
0
Ken Lester
Top achievements
Rank 1
answered on 02 Oct 2009, 06:19 PM
Hope some1 can help, here's i include the test code:
note: just try to select the item from 1st combobox and 2nd combobox randomly, after few times the textbox will no longer be able to show.
Markup:
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"
    <title></title
      
</head> 
<script type="text/javascript"
    function ChangeTextbox() { 
        var cbo = $find("<%= RadComboBox2.ClientID %>"); 
        var txt = $find("<%= RadTextBox1.ClientID %>"); 
 
        var SelectedText = cbo.get_text(); 
 
        if (SelectedText == 'Other') { 
            txt.set_visible(true); 
        } 
        else { 
            txt.set_visible(false); 
        } 
    } 
    </script> 
<body> 
 
    <form id="form1" runat="server"
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server"
    </telerik:RadScriptManager> 
      <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"
          <AjaxSettings> 
              <telerik:AjaxSetting AjaxControlID="RadComboBox1"
                  <UpdatedControls> 
                      <telerik:AjaxUpdatedControl ControlID="RadComboBox2"  
                          LoadingPanelID="RadAjaxLoadingPanel1" /> 
                  </UpdatedControls> 
              </telerik:AjaxSetting> 
          </AjaxSettings> 
        </telerik:RadAjaxManager> 
    <div> 
     
        <telerik:RadComboBox ID="RadComboBox1" Runat="server" AutoPostBack="True"
            <Items> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem1"  
                    Value="RadComboBoxItem1" /> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem2"  
                    Value="RadComboBoxItem2" /> 
            </Items> 
        </telerik:RadComboBox> 
        <telerik:RadComboBox ID="RadComboBox2" Runat="server" OnClientSelectedIndexChanged=" ChangeTextbox"
            <Items> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem1"  
                    Value="RadComboBoxItem1" /> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem2"  
                    Value="RadComboBoxItem2" /> 
                <telerik:RadComboBoxItem runat="server" Text="Other" Value="Other" /> 
            </Items> 
        </telerik:RadComboBox> 
        <telerik:RadTextBox ID="RadTextBox1" Runat="server"
        </telerik:RadTextBox> 
       
     
    </div> 
      <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Runat="server"  
          Skin="Default"
      </telerik:RadAjaxLoadingPanel> 
    </form> 
</body> 
</html> 

Code behind:
  Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load 
 
    End Sub 
 
    Protected Sub RadComboBox1_SelectedIndexChanged(ByVal o As ObjectByVal e As Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs) Handles RadComboBox1.SelectedIndexChanged 
        Select Case RadComboBox1.SelectedIndex 
            Case 0 
                RadComboBox2.Enabled = True 
            Case 1 
                RadComboBox2.Enabled = False 
        End Select 
    End Sub 

0
Yana
Telerik team
answered on 06 Oct 2009, 11:45 AM
Hi Ken,

I tested the provided code but wasn't able to observe this issue, $find method works as expected.

Kind regards,
Yana
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
ComboBox
Asked by
Ken Lester
Top achievements
Rank 1
Answers by
Ken Lester
Top achievements
Rank 1
Yana
Telerik team
Share this question
or