Friday, May 10, 2024
 Popular · Latest · Hot · Upcoming
104
rated 0 times [  110] [ 6]  / answers: 1 / hits: 25561  / 14 Years ago, fri, october 29, 2010, 12:00:00

my onchange isn't firing the javascript method properly.



Select code (in HTML file)



<select id=crit_1 onchange=crit1Update()>
<option value=null>Criteria 1</option>
<option value=major>Major</option>
<option value=grad>Graduation Year</option>
</select>


crit1Update() code (in external filter.js file in same folder as HTML file containing the above with the following code in head of HTML



<script type=text/javascript src=filter.js>
</script>

function crit1Update() {
var crit1 = document.criteria.getElementsByID(crit1);
var criteria1 = crit1.options[crit1.selectedIndex].value;
alert(criteria1); // this is never firing, so this isnt getting called
if (criteria1 == null) {
// eventually set all other lists to null in here as well
filter(null,null,null,null,null,null)
// the above returns all the resumes
// (this is eventually going to filter resumes)
}
else if (criteria1 == major) {
alert(Major!);
}
}


Are there any glaring or not glaring errors that I am missing? I dont see why the alert(criteria1 isnt being called. I come from a java background and this is my first foray into JS, so I may be missing something simple.



Thanks for any help.


More From » onchange

 Answers
65

Your <select> ID is crit_1 and your function is looking for ID crit1 (no underscore).



It would probably be a better idea to pass the <select> element as a reference to the function, eg



JavaScript



function crit1Update(crit1) {
var criteria1 = crit1.options[crit1.selectedIndex].value;


HTML



<select id=crit1 name=crit1 onchange=crit1Update(this)>

[#95146] Tuesday, October 26, 2010, 14 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
martina

Total Points: 101
Total Questions: 103
Total Answers: 111

Location: Seychelles
Member since Mon, Jun 28, 2021
3 Years ago
;