View Single Post
Old 12-15-2009, 03:14 AM   #1 (permalink)
Peuplarchie
The Acquainted
 
Peuplarchie's Avatar
 
Join Date: May 2008
Location: Québec
Posts: 104
Thanks: 10
Peuplarchie is on a distinguished road
Application onchange combo box, change url in div

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

PHP Code:


<script type="text/javascript">
function 
ahah(urltarget) {
  
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(urltarget);};
    
req.open("GET"urltrue);
    
req.send("");
  }
}  

function 
ahahDone(urltarget) {
  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(namediv) {
    
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:

PHP Code:

<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!
__________________
That's why we are not alone on earth... let's build !
Peuplarchie is offline  
Reply With Quote