Page 1 of 1

onchange combo box, change url in div

Posted: Mon Dec 14, 2009 9:13 pm
by Peuplarchie
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 :

Code: Select all

 
 
<?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:

Code: Select all

 
 
 
<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:

Code: Select all

 
 
<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!