I’m creating a button dynamically using JavaScript and at the same time assigning attributes such as ‘ID’, ‘type’ etc and also ‘onclick’ in order to trigger a function.
All works fine apart from the assignment of the ‘onclick’. When clicked, the button is not triggering the function as it is supposed to. the function I’m trying to run is ‘navigate(-1)’ as seen below.
Where am I going wrong?
Here’s my code:
function loadNavigation() {
var backButton;
backButton = document.createElement('input');
backButton.ID = 'backButton';
backButton.type = 'button';
backButton.value='Back';
backButton.onclick = 'navigate(-1)';
document.body.appendChild(backButton);
}
As the other said you should assign a function.
Just wanted to point out that in this case you want to pass a value so you need to assign an anonymous function (or a named function defined inline) like
If the function you want to assign does NOT require a parameter you can use it directly
Note that there is no parenthesis in this case
won’t work as it will call
otherfunctionas soon as it is parsed