Jump to content

[SOLVED] undefined value


The Little Guy

Recommended Posts

I am not sure what is wrong or why it is worng, any ideas?

 

var selects = document.getElementsByTagName('select');
var selCount = 0;
for(var i in selects){
var selIndex = i.selectedIndex;
var val = i.options[selIndex].value   // line 402
if(val == ''){
	selCount = selCount + 1;
}
}
alert(selCount);

 

Error: selIndex is undefined

Source File: http://murdercup.publicsize.com/jtest.php

Line: 402

Link to comment
https://forums.phpfreaks.com/topic/120557-solved-undefined-value/
Share on other sites

the variable in the for in loop is assigned the next property or index, not object. You would need to use it like:

var selIndex = selects[i].selectedIndex;
//etc..

However, the very first assignment from the for in loop is actually the number of elements found in the collection (selects) specified. That means that, without checking, the first loop will always throw an out of bounds error. I just use for loops instead of trying to get around it.

This works like a charm:

 

	var selects = document.getElementsByTagName('select');
	var selCount = 0;
	var val;
	for(var i = 0;i < selects.length;i++){
		var selIndex = selects[i].selectedIndex;
		val = selects[i].options[selIndex].value
		if(val == ''){
			selCount = selCount + 1;
		}
	}

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.