Good day,
I'm populating a combo box and I'm working to onchange the url of a div.based on the value selected.
Here is my code :
<?PHP
$console = $_GET['console'];
$dir = "Names/";
echo "<select name=\"console\" onchange=\"load('console_info.php?console=<SCRIPT language=\"javascript\">document.write(this.options[this.selectedIndex].value)</script>','page')\" onmouseclick=\"this.focus()\">";
// Open a known directory, and proceed to read its contents
$dir_handle = @opendir($dir) or die("Unable to open $dir");
$files = array();
while($file = readdir($dir_handle))
{
if($file != '.' and $file != '..')
{
$files[] = $file;
}
}
sort($files);
foreach($files as $file)
{
if($file != $console)
{
echo "<option value='$dir/$file'>$file</option>\n";
}else{
echo "<option value=\"$dir/$file\" selected=\"selected\">$file</option>\n";
}
}
echo "</select>";
?>
I already have a script which make me able to change the url of a div with ajax, this works well.
Here is the code which do that:
<script type="text/javascript">
function ahah(url, target) {
document.getElementById(target).innerHTML = ' Fetching data...';
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if (req != undefined) {
req.onreadystatechange = function() {ahahDone(url, target);};
req.open("GET", url, true);
req.send("");
}
}
function ahahDone(url, target) {
if (req.readyState == 4) { // only if req is "loaded"
if (req.status == 200) { // only if "OK"
document.getElementById(target).innerHTML = req.responseText;
} else {
document.getElementById(target).innerHTML=" Error:\n"+ req.status + "\n" +req.statusText;
}
}
}
function load(name, div) {
ahah(name,div);
return false;
}
</script>
onchange="load('console_info.php?console?=','page')"
The part I have problem with is the part when the combo box get changed with an onchange, I don't know how to add after the console?= as the user change the option .
example:
<SCRIPT language=\"javascript\">document.write(this.options[this.selectedIndex].value)</script>
But if I do this, since i'm using php to write this it only write that.
I don't know how can i make this work.
Thanks!