how to call onclick function on dynamically created button in javascript
Asked Answered
U

4

9
var del = document.createElement('input');
del.type = 'button';
del.name = 'delll';
del.value = 'del';
del.onClick = 'alert("hi  javascript")';

Here I have dynamically created a input type BUTTON and now I want to call function on button click event. I am using onClick(); function for this. In the above code all is working fine but del.onclick is not working as I want (for generating alert for demo)

I am not using any jquery code in this program so please don't use any jquery code.

Uppsala answered 16/9, 2013 at 6:30 Comment(1)
Take a look at this answer #6956758Rexer
D
7

set the onclick (all lower case) to an anonymous function

del.onclick = function(){ alert('hi javascript');};

note the function is not in quotes like other attributes

Dissatisfy answered 16/9, 2013 at 6:36 Comment(0)
S
3
del.onclick = function () {
    alert("hi  jaavscript");
};

Use small "C" in onClick and pass a function for it.

Demo here

Scholasticate answered 16/9, 2013 at 6:38 Comment(0)
I
1

Try like this

    var del = document.createElement('input');
    del.setAttribute('type', 'button');
    del.setAttribute('name', 'delll');
    del.setAttribute('value', 'del');
    del.setAttribute('onClick', 'alert("hi  jaavscript")');
Irritant answered 16/9, 2013 at 6:37 Comment(0)
R
0

So to answer the question in details:

del.onclick = '' does not "execute" something within quotes. If you want to execute/call a function, you would want to pass the function as a parameter.

i.e

del.onclick = function() { alert('hi there!')}
Rexer answered 16/9, 2013 at 6:37 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.