I am trying to call my JS function that I added in the header.
Please find below code that shows my problem scenario.
Note: I don't have access to the body in my application.
Everytime I click on the element with id="Save"
it only calls f1()
but not fun()
. How can I make it call even my fun()
?
Please help.
<!DOCTYPE html>
<html>
<head>
<script>
document.getElementById("Save").onclick = function fun()
{
alert("hello");
//validation code to see State field is mandatory.
}
function f1()
{
alert("f1 called");
//form validation that recalls the page showing with supplied inputs.
}
</script>
</head>
<body>
<form name="form1" id="form1" method="post">
State:
<select id="state ID">
<option></option>
<option value="ap">ap</option>
<option value="bp">bp</option>
</select>
</form>
<table><tr><td id="Save" onclick="f1()">click</td></tr></table>
</body>
</html>
Inline code takes higher precedence than the other ones. To call your other function func () call it from the f1 ().
Inside your function, add a line,
Rewriting your whole code,
Using onclick attribute or apply a function to your JS onclick properties will erase your onclick initialization in .
What you need to do is add click events on your button. To do that you'll need addEventListener and attachEvent (ie) methods.
You could use addEventListener to add as many listeners as you want.
Also add
script
tag after the element to make sureSave
element is loaded at the time when script runsRather than moving script tag you could call it when dom is loaded. Then you should place your code inside the
example
You are attempting to attach an event listener function before the element is loaded. Place
fun()
inside anonload
event listener function. Callf1()
within this function, as theonclick
attribute will be ignored.JSFiddle
I removed your
document.getElementById("Save").onclick =
before your functions, because it's an event already being called on your button. I also had to call the two functions separately by the onclick event.