ghanshyam.mirani
ghanshyam.mirani

Reputation: 3101

Issue related to inbuilt javascript function of Telerik controls

I have asp.net webapplication having some telerik controls.

i have a RadTextBox(txtSearch) and RadButton(btnSearch) on .aspx page.

i have written following validation for empty Textbox:

 $('#btnSearch').click(function () {
                if ($('#txtSearch_text').val() == '') {
                    $('#txtSearch_text').addClass('validation');
                    return false;
                }
                else {
                    $('#txtSearch_text').removeClass('validation');
                }
            });

in validation class i have set Border-left:2px solid red now problem is that when i click on btnSearch it sets validation class to txtSearch textbox, but when i use mouseover on txtSearch textbox class name suddenly changed to someother from inbuilt javascript function of Telerik. in this Javascript function of telerik TextBox, it changes class name of textbox to another class. and this execution of change class occurs after executing custom javascript function.

so i want to execute customer javascript function after executing inbuilt functions of telerik. how to do it?

Thanks

Upvotes: 0

Views: 166

Answers (1)

rdmptn
rdmptn

Reputation: 5603

You can define invalid states for RadInputs. RadTextbox by itself cannot be invalid because you can put anything in a textbox (unlike a numeric textbox, for example), yet here is a starting point:

    <telerik:RadTextBox ID="RadTextBox1" runat="server">
        <InvalidStyle BackColor="Red" />
    </telerik:RadTextBox>
    <asp:RequiredFieldValidator ID="TextBoxRequiredFieldValidator" runat="server" Display="Dynamic"
                                ControlToValidate="RadTextBox1" ErrorMessage="The textbox can not be empty!">
    </asp:RequiredFieldValidator>
    <telerik:RadButton ID="RadButton1" runat="server" OnClientClicked="test" Text="submit"
                       AutoPostBack="false" />
    <script type="text/javascript">
        function test() {
            var tb = $find('RadTextBox1');
            if (tb.get_value() == "") {
                $find('RadTextBox1')._invalidate();
                $find('RadTextBox1').updateCssClass();
            }
        }
    </script>

Tampering directly with the HTML of complex controls may get you nowhere because they will try to update/fix their state according to the logic they have.

Upvotes: 1

Related Questions