Permalänk
Medlem

onChange med HTML/PHP?

Jag har två drop down-menyer i ett formulär. Jag vill att valen i drop down-meny 2 ska begränsas då jag väljer ett värde i drop down-meny 1. Valen i lista ett ska alltså ändras beroende på vad som valts i meny 1, utan att jag måste ladda om hela sidan.

Är det möjligt att göra detta utan JavaScripts? Jag vill helst göra det med html eller php.

Permalänk
Medlem

Ja det går bra att göra utan javascript - men då måste sidan laddas om efter du har valt något ur meny 1.

Det betyder att du gör ett formulär med dropdown 1, och en "gå vidare"-knapp. När du klickar på den knappen så behandlar vi det som dropdown 1 skickar, och genererar en ny sida utifrån det, som har dropdown 2.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av totoo
Ja det går bra att göra utan javascript - men då måste sidan laddas om efter du har valt något ur meny 1.

Det betyder att du gör ett formulär med dropdown 1, och en "gå vidare"-knapp. När du klickar på den knappen så behandlar vi det som dropdown 1 skickar, och genererar en ny sida utifrån det, som har dropdown 2.

Jo jag vet, men det är just detta jag vill undvika :/

Om det inte går att fixa utan att sidan laddas om, kan man åtminstone göra så att man slipper trycka på en submit-knapp för att sidan ska laddas om? Alltså så att sidan laddas om direkt när man ha gjort valet i drop down-meny 1...

Permalänk
Medlem

Går inte att komma ifrån.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av totoo
Går inte att komma ifrån.

Bah, okej. Får väl leta upp nåt javascript då. Tack för hjälpen iaf!

Permalänk
Medlem

Det är enkelt om det är okej med extra sidladdning

<form ....>
<select onchange="this.form.submit();">
</form>

Tror det ska funka iaf, otestat.

Mene... Ska man byta ut innehållet utan sidladdning så måste man antingen ha ett javascript färdigt med alla alternativ för meny2, eller så använder man ajax för att hämta infon från en phpfil.

Det finns iaf två metoder att ändra dropdown nummer 2 (om den ska visas hela tiden, alltså ingen ny sidladdning).

Det ena är att använda DOM-strukturen och ändra options mha element... Typ addChild och vad allt nu heter...

Andra alternativet är att generera ren html med javascript mha attributet "innerHTML".

Du kan t.ex. göra såhär:

<div id="minDiv">
hej
</div>

Med JS kan du ändra innehållet i div genom att:

1: Ta fram elementet... Leta upp någon funktion i stil med "getElementById", kalla elementet t.ex. "theDiv".

2: Ändra innehållet genom att skriva theDiv.innerHTML = "hej då";

Då blir "hej" utbytt mot "hej då".