user2750762
user2750762

Reputation: 419

how to call onclick function on dynamically created button in javascript

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.

Upvotes: 9

Views: 23954

Answers (4)

Sergio
Sergio

Reputation: 28837

del.onclick = function () {
    alert("hi  jaavscript");
};

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

Demo here

Upvotes: 3

Nitish
Nitish

Reputation: 796

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")');

Upvotes: 1

Neeraj
Neeraj

Reputation: 8532

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!')}

Upvotes: 0

Paul Nelson
Paul Nelson

Reputation: 147

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

Upvotes: 7

Related Questions