Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.0k views
in Technique[技术] by (71.8m points)

asp.net - Call Javascript function from codebehind on button click

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...