Omer
Omer

Reputation: 96

Call a Javascript function from aspx

Code from aspx.cs:

.......
button.OnClientClick = "onButtonClick(this)";
.....

Function in Javascript(written in the aspx file):

<script> 
        function onButtonClick(event) {
           ....
        }
</script>

The "program" didn't even get to the script.

Upvotes: 0

Views: 17039

Answers (2)

bougiefever
bougiefever

Reputation: 1265

Where are you calling your button.OnClientClick assignment? If it is in the page load or a button click event, it should work. If you are calling it in an ajax method, the button may be be rendered after the assignment, so maybe that's your problem.

protected void Page_Load(object sender, EventArgs e)
{
    Button1.OnClientClick = "clicky(this)";
}

On .aspx page, just before the closing tag:

<script>
   function clicky(e) {
      alert("click");
   }
</script>

You should be able to see onclick="clicky(this)"; when you inspect the element in the Chrome developer tools when you run the page.

Upvotes: 1

AJ_
AJ_

Reputation: 3977

Well its redundant to call a JavaScript with a asp button when you can always just use the on click method with a normal html button.

 <button onclick="onButtonClick()">Click me</button> 

However here is how you can do it with the following ways

Response.write("<script type=""text/javascript"">onButtonClick();</script>")

// OR
ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:onButtonClick(); ", true);
// OR 
string name = "onButtonClick()";
        ScriptManager.RegisterClientScriptBlock(this, typeof(string), "Key", name, true);
// OR    
ScriptManager.RegisterStartupScript(this, GetType(), name, false); 

Upvotes: 0

Related Questions