Home » Html » onclick event not working in JavaScript

onclick event not working in JavaScript

Posted by: admin November 29, 2017 Leave a comment

Questions:

I have some JavaScript code in an HTML page with a button. I have a function called ‘click()’ that handles the onClick event of the button. The code for the button is as follows:

<input type="button" onClick="click()">button text</input>  

The problem is that when the button is clicked, the function is not called. What am I doing wrong here?
Thanks

Answers:

Two observations:

  1. You should write

    <input type="button" value="button text" />
    

    instead of

    <input type="button">button text</input>
    
  2. You should rename your function. The function click() is already defined on a button (it simulates a click), and gets a higher priority then your method.

Note that there are a couple of suggestions here that are plain wrong, and you shouldn’t spend to much time on them:

  • Do not use onclick="javascript:myfunc()". Only use the javascript: prefix inside the href attribute of a hyperlink: <a href="javascript:myfunc()">.
  • You don’t have to end with a semicolon. onclick="foo()" and onclick="foo();" both work just fine.
  • Event attributes in HTML are not case sensitive, so onclick, onClick and ONCLICK all work. It is common practice to write attributes in lowercase: onclick. note that javascript itself is case sensitive, so if you write document.getElementById("...").onclick = ..., then it must be all lowercase.
Questions:
Answers:

click() is a reserved word and already a function, change the name from click() to runclick() it works fine

Questions:
Answers:

Try fixing the capitalization. onclick instead of onClick

Reference: Mozilla Developer Docs

Questions:
Answers:

Try this

<input type="button" onClick="return click();">button text</input>  

Questions:
Answers:

I suggest you do:
<input type="button" value="button text" onclick="click()">
Hope this helps you!

Questions:
Answers:
<script>
//$(document).ready(function () {
function showcontent() {
        document.getElementById("demo22").innerHTML = "Hello World";
}
//});// end of ready function
</script>

I had the same problem where onclick function calls would not work. I had included the function inside the usual “$(document).ready(function(){});” block used to wrap jquery scripts. Commenting this block out solved the problem.

Questions:
Answers:

Yes you should change the name of your function. Javascript has reserved methods and onclick = >>>> click() <<<< is one of them so just rename it, add an ‘s’ to the end of it or something.
strong text`

Questions:
Answers:

Today this also happened to me. The function name maybe conflicts with keywords. My case is scrape(). I change the function name, everything works fine.

Questions:
Answers:

Group member just had an issue where the id of the button was the same as the function name, check your button’s id, or check other components and make sure the names do not conflict.