Hello,

I am having problems retrieving correct values from two radio buttons in my AJAX script below.

The radio button values are either a 1 or 0 and always produces 0 regardless of which button is selected.

Once in AJAX, I can not have the script retreive a 1 or 0. AJAX script produces "[object HTMLInputElement]" as the response. Not sure what is going wrong.

Thanks in Advance.
Diego

<script type="text/javascript">
var settings = getXmlHttpRequestObject(); function saveCar() { 
if (settings.readyState == 4 || settings.readyState == 0) { 

var car = escape(document.getElementById('car').value);

/* PROBLEM - Radio Button Processor */
var proc17 = document.getElementById("search17");
for (var i = 0; i < proc17.length; i++)
{
    if (proc17[i].checked){
       search17 = proc17[i].value;
       break;
    }
}


settings.open("GET", 'abc.php?proc17=' + proc17 + '&car=' +car, true); 
settings.onreadystatechange = handleSettings; settings.send(null);}}
function handleSettings() { if (settings.readyState == 4) { 

		}
	}
</script>

Aren't you using the wrong variable in your AJAX URL string?

You assign the "search17" element to the "proc17" variable and then use that in your URL.
Shouldn't the "search17" variable be in the URL?

The code that ended up working for me is below. I have included only the ajax javascript Thanks to all for your help!

var settings = getXmlHttpRequestObject(); function savePreview() { 
if (settings.readyState == 4 || settings.readyState == 0) { 

 var car = escape(document.getElementById('car').value);

for (index=0; index < document.gMoney.searchMe.length; index++) {
				if (document.gMoney.searchMe[index].checked) {
					var radioValue = document.gMoney.searchMe[index].value;
					break;
				}
			}
	

settings.open("GET", 'abc.php?searchMe=' + radioValue + '&car=' +car, true); 
settings.onreadystatechange = handleSettings; settings.send(null);}}
function handleSettings() { if (settings.readyState == 4) { 
		}
	}
Comments
Thank you for sharing...
This question has already been answered. Start a new discussion instead.