3

I want to execute a javascript function on a button click and if the result is a sucess only then the server side code should be executed on that button click.

Below is what I am trying to do

 protected void btnAdd_Click(object sender, EventArgs e)
    {
         if (btnAddItem.Text == "Add")
            {
                string script = string.Format(@"validate()"); 

                ScriptManager.RegisterClientScriptBlock(this, typeof(Page), UniqueID, script, true); 

                if (text1.text== null)
                {
                    Addtogrid();
                                        }

and below is my javascript function

function validate() {
    var arrTextBox = document.getElementsByTagName("input");
           var retVal = 1;
    for (i = 0; i < arrTextBox.length; i++) {
        if (arrTextBox[i].type == "text" && arrTextBox[i].value == "") {
            retVal = 0;

        }
    }

    if (retVal == 0) {
        alert("Validation Failed");
        return false;
    }
    else {
        alert("Validation Success");
        return true;
    }

}

I am not able to understand how to capture of the result of the javascript function . I am trying this for the first time. Kindly help me.

0

2 Answers 2

4

I think the simplest way is to set up the validation function to be called on button click in your markup. So your markup should look like the following..

<asp:Button runat="server" ID="btnAdd" Text="My Button" OnClientClick="return validate()" OnClick="btnAdd_Click" />

Note the OnClientClick attribute. You can use that attribute to call a javascript function that executes before the server side code.

Sign up to request clarification or add additional context in comments.

Comments

1

The following way u can call javascript function after server side operation

 <script language="JavaScript" type="text/javascript">
       function validate(msg) {
    alert(msg);
   }
</script>
   <asp:Button ID="btnValidateUSR" runat="server" Text="Validate USR" CssClass="butn"  OnClick="btnValidateUSR_Click"/>

    protected void btnValidateUSR_Click(object sender, EventArgs e)
    {
        ClientScriptManager cs = Page.ClientScript;
            cs.RegisterStartupScript(this.GetType(), "ValError", "validate('"  +Resources.ErrorDescription.BalancingErrorMsg+ "');", true);

     }

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.