PHP rullgardins meny

Tråden skapades och har fått 6 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2006-01-23 18:27

Jag har en fråga angående popupmenyer /dropdown/rullgardin.

Jag håller på lite och harvar med PHP på ett par sajter.

Det jag är ute efter är att när man valt något i menyns lista så vill jag att det valet ska aktivera sig själv. Alltså utan att jag behöver trycka på en knapp.

Man ser ju det rätt ofta och det underlättar ju för besökaren. Jag har inte hittat något som löser detta i de böcker jag har om PHP. Såg något om att man eventuellt behöver ett Java-Script för detta.

Kan någon upplysa mig om detta och kanske lämna en kodsnutt

Janne Suhr

  • Medlem
  • Karlstad
  • 2006-01-23 19:27
Ursprungligen av jannes:

Jag har en fråga angående popupmenyer /dropdown/rullgardin.

Jag håller på lite och harvar med PHP på ett par sajter.

Det jag är ute efter är att när man valt något i menyns lista så vill jag att det valet ska aktivera sig själv. Alltså utan att jag behöver trycka på en knapp.

Man ser ju det rätt ofta och det underlättar ju för besökaren. Jag har inte hittat något som löser detta i de böcker jag har om PHP. Såg något om att man eventuellt behöver ett Java-Script för detta.

Kan någon upplysa mig om detta och kanske lämna en kodsnutt

Janne Suhr

En vanlig dropdown?
Det är alltså html, inte nån speciell php.
Så här ser ett exempel ut som är gjort i Dreamweaver. Byt ut lämpliga delar...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/JavaScript">
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
</script>
</head>
<body>
<form name="form1">
<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<option value="path-to-document-here">A</option>
<option value="path-to-document-here">B</option>
<option value="path-to-document-here">C</option>
<option value="path-to-document-here">D</option>
</select>
</form>
</body>
</html>

Ursprungligen av jannes:

Jag har en fråga angående popupmenyer /dropdown/rullgardin.

Jag håller på lite och harvar med PHP på ett par sajter.

Det jag är ute efter är att när man valt något i menyns lista så vill jag att det valet ska aktivera sig själv. Alltså utan att jag behöver trycka på en knapp.

Man ser ju det rätt ofta och det underlättar ju för besökaren. Jag har inte hittat något som löser detta i de böcker jag har om PHP. Såg något om att man eventuellt behöver ett Java-Script för detta.

Tänk bara på att det är en lösning som samtidigt utestänger många potentiella besökare. Det finns bättre vägar att gå, som både ger en bättre användarupplevelse för majoriteten av besökarna och låter resten vara med på samma villkor. Det finns naturligtvis undantag, men generellt sett ska man inte förlita sig på javascript för något så grundläggande som navigering på en webbplats.

  • Medlem
  • Stockholm
  • 2006-01-23 23:50

Tack för hjälpen, ska prova och se hur det fungerar.

Jo jag håller med om att det ska helst fungera utan något hokus pokus, men så som det ser ut nu blir det mycket att först välja i drop down menyn och sen trycka på en knapp, där man sen får upprepa detta igen. Det är flera kategorier att välja sig igenom innan man kommer fram.

Janne

Om man rensar lite i DW-koden, så kan man komma ner till det essentiella:

<form name="form1">
<select name="menu1" onchange="this.form.submit();">
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
<option value="4">D</option>
</select>

eller om du vill använda url:er:

<form name="form1" onsubmit="return false;">
<select name="menu1" onchange="top.location.href=this.value;">
<option value="path-to-document-here">A</option>
<option value="path-to-document-here">B</option>
<option value="path-to-document-here">C</option>
<option value="path-to-document-here">D</option>
</select>

M h t tillgänglighetskrav är nog den första varianten, i kombination med en liten submitbutton bredvid, det bästa. Kräver ju dock att sidan som mottar POST:en i sin tur serverar relevant sida utifrån valt värde.

  • Medlem
  • Mölndal
  • 2006-01-26 18:31

Visst blir det mycket klickande på Submit-knappar, men det är ju en konsekvens man får ta om man väljer att stänga av JavaScript.

Exakt - brutet DNA ska straffa sig!

1
Bevaka tråden