Click to See Complete Forum and Search --> : Can't pass Variable to getElementByID


rayfinkel2
02-15-2007, 06:39 PM
Hi,

I am trying to pass a variable into where I would getElementByID and it always says "document.getElementById(prodColorName) has no properties. I think I have tried everything. The problem seems to be occuring in function colorStateChanged in this line "document.getElementById(prodColorName).innerHTML = xmlHttp.responseText;
"
Here is the full code:

function sizeGetColor(selectedSize,currentColor,prodID,setNumber)
{
var url="http://estrategize.mailwebsol.com/Yandy/setOptionAjax.php?prodID=" + prodID + "&size=" + selectedSize + "&action=sizeGetColor&currentColor=" + currentColor + "&setNumber=" + setNumber;
number=setNumber
xmlHttp=GetXmlHttpObject(colorStateChanged)
xmlHttp.open("GET", url , true)
xmlHttp.send(null)
}

function colorStateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
var prodColorName="prodColor"+number;
document.getElementById(prodColorName).innerHTML = xmlHttp.responseText;
}
}

function GetXmlHttpObject(handler)
{
var objXmlHttp=null

if (navigator.userAgent.indexOf("Safari")>=0)
{
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler
return objXmlHttp
}
if (navigator.userAgent.indexOf("Opera")>=0)
{
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler
return objXmlHttp
}
if (navigator.userAgent.indexOf("MSIE")>=0)
{
var strName="Msxml2.XMLHTTP"
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP"
}
try
{
objXmlHttp=new ActiveXObject(strName)
objXmlHttp.onreadystatechange=handler
return objXmlHttp
}
catch(e)
{
alert("Error. Scripting for ActiveX might be disabled")
return
}
}

if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler
return objXmlHttp
}
}

partyk1d24
02-16-2007, 02:59 PM
Do you have the tag info for prodColorName?

dadasahebhonde
08-18-2008, 12:07 AM
Hi,

you can pass the variable appending a empty string to it:
something like this:
getElementById(varName+'')

This works for me.

--:)
Dadasaheb Honde