Ik wil graag binnen dit scriptje de waarden onthouden van de selectboxen
Echter ben een redelijke beginneling (zo zijn we allemaal ooit begonnen)
Nu weet ik wel hoe ik van 2 boxen de zooi kan onthouden maar van 3 wordt even wat moeilijker.
Ik heb hier een gedeelte van het script geplaatst nu weet ik niet wat ik met deze regel aan moet

--> self.location='test.php?jaar=' + val &amp'test.php?maand=' + val1 &amp'test.php?dag=' + val2; <--

Zouden jullie me kunnen helpen




<html>
<head>
<title>Test></title>

<SCRIPT language=JavaScript>
function reload(form)
{
var val=form.jaar.options[form.jaar.options.selectedIndex].value;
var val1=form.maand.options[form.maand.options.selectedIndex].value;
var val2=form.dag.options[form.dag.options.selectedIndex].value;
self.location='test.php?jaar=' + val &amp'test.php?maand=' + val1 &amp'test.php?dag=' + val2;
}
</script>
</head>
<body>

<?php
{
echo "<select name='jaar' onchange=\"reload(this.form)\"><option value=''>Selecteer jaar</option>";
echo '<option selected value="'.$jaar['jaar'].'">'.$jaar['jaar'].'</option>';
}
{
echo "<select name='maand' onchange=\"reload(this.form)\"><option value=''>Selecteer maand</option>";
echo '<option selected value="'.$maand['maand'].'">'.$maand['maand'].'</option>';
}
{
echo "<select name='dag' onchange=\"reload(this.form)\"><option value=''>Selecteer dag</option>";
echo '<option selected value="'.$dag['dag'].'">'.$dag['dag'].'</option>';
}
?>
</body>
</html>
Dit geeft in ieder geval geen fatsoenlijke link:
self.location='test.php?jaar=' + val &amp'test.php?maand=' + val1 &amp'test.php?dag=' + val2;
Er staat 3 keer test.php?varname=... in. Dat zijn 3 links aan elkaar geplakt.
Kan je me een zetje geven in de juiste richting?
Want eerlijk gezegt heb ik geen idee hoe dan wel
Ik heb weinig verstand van javascript. Maar een link ziet er normaal zo uit.
test.php?jaar=.....&maand=...&dag=....
De link wordt verkeerd in elkaar gezet in die JS functie. Het zou zo moeten:

<SCRIPT type="text/javascript">
function reload(form)
{
	var val = form.jaar.options[form.jaar.options.selectedIndex].value;
	var val1 = form.maand.options[form.maand.options.selectedIndex].value;
	var val2 = form.dag.options[form.dag.options.selectedIndex].value;
	self.location = 'test.php?jaar=' + val +  '&maand=' + val1 +  '&dag=' + val2;
}
</script>
Het was wat SanThe zei, ik heb alleen even de juiste JavaScript syntax toegevoegd.
Nogmaals dank!
Maar kan het klopen dat het niet in IE werkt en wel in FF, want dat probleem heb ik nu?!
Ja dat kan kloppen. De code die je gebruikt is niet crossbrowser. Gebruik daarvoor een framework als Mootools, of document.getElementById om elementen te benaderen.
Oeps nu wordt het moeilijk!
Net nu ik dacht he he ik krijg het door ben ik weer bij nul, eigenlijk -10.

Met veel pijn en moeite heb ik dit met knippen en plakken voor elkaar gekregen en natuurlijk eigen geluk, ahum
Ik kan dus met de datum field in mijn database de juiste jaren en maanden en dagen kiezen.

dit is wat ik heb
Als je het kan verbeteren graag



<?php
include("connect.php");
?>
<html>
<head>
<title>de dropdown functie></title>
<SCRIPT language=JavaScript>
function reload(form)
{
var val=form.jaar.options[form.jaar.options.selectedIndex].value;
var val1=form.maand.options[form.maand.options.selectedIndex].value;
var val2=form.dag.options[form.dag.options.selectedIndex].value;
self.location='test.php?jaar=' + val +  '&maand=' + val1 +  '&dag=' + val2;
}
</script>
</head>
<body>
<?php
/////// als in de eerste dropdown niks geselect is dan laat de 2de drop alles zien/////
if(isset($ro) and strlen($row) > 0)
{
$query="SELECT DISTINCT MONTH(datum) AS maand FROM sensor0 ORDER BY maand";
}
else
{
$query="SELECT DISTINCT MONTH(datum) AS maand FROM sensor0 ORDER BY maand"; 
}
////////// einde ///////////////////////////
echo "<form method=post name=f1 action=''>";
//////////eerste drop voor het selecteren van het jaartal/////////
$query = "SELECT DISTINCT YEAR(datum) AS jaar FROM sensor0 ORDER BY jaar ";
$result = mysql_query($query) or die(mysql_error());
echo "<center><select name='jaar' onchange=\"reload(this.form)\"><option value=''>Selecteer jaar</option>";
while ($row = Mysql_Fetch_Assoc($result))
{
if($row['jaar']==@$jaar)
{
echo '<option selected value="'.$row['jaar'].'">'.$row['jaar'].'</option>';
}
else
{
echo '<option value="'.$row['jaar'].'">'.$row['jaar'].'</option>';
}
}
echo "</select>-";
//////////////////  einde ///////////

//////////2de drop voor het selecteren van de maanden/////////
$query = "SELECT DISTINCT MONTH(datum) AS maand FROM sensor0 WHERE year(datum) = '" . @$jaar . "' ORDER BY maand ";	
$result = mysql_query($query) or die(mysql_error());
echo "<select name='maand' onchange=\"reload(this.form)\"><option value=''>Selecteer maand</option>";
while ($row = Mysql_Fetch_Assoc($result))
{
if($row['maand']==@$maand)
{
echo '<option selected value="'.$row['maand'].'">'.$row['maand'].'</option>';
}
else
{
echo '<option option="'.$row['maand'].'">'.$row['maand'].'</option>';
}
}
echo '</select>-';
//////////////////einde ///////////

//////////3de drop het selecteren van de dagen/////////
$query = "SELECT DISTINCT DAY(datum) AS dag FROM sensor0 WHERE month(datum) = '" . @$maand . "' ORDER BY dag ";
$result = mysql_query($query) or die(mysql_error());
echo "<select name='dag' onchange=\"reload(this.form)\"><option value=''>Selecteer dag</option>";
while ($row = Mysql_Fetch_Assoc($result))
{
if($row['dag']==@$dag)
{
echo '<option selected value="'.$row['dag'].'">'.$row['dag'].'</option>';
}
else
{
echo '<option option="'.$row['dag'].'">'.$row['dag'].'</option>';
}
}
echo '</select>';
?>
</body>
</html>


Reageren