Avatar billede simon_jacobsen Nybegynder
31. august 2006 - 16:49 Der er 18 kommentarer og
1 løsning

selected i listbox

Hej
Sidder og roder med en listbox har fundet noget kode jeg benytter fra siden :
http://www.somacon.com/p241.php
men mit problem er at nå jeg sender det(Post) til næste side kommer det selectede i min listbox ikke med over, ved ikke lige hvordan jeg kan klare den ?
har ændret listboxen til en combobox, men det skulle jo som sådan ikke ændre det store ..

På Forhånd tak :)
Avatar billede thesurfer Nybegynder
31. august 2006 - 21:28 #1
Koden i funktionen "handleSelectClick();" bruger overhovedet ikke submit, hvilket kræves for at sende data.
I stedet loades urlen direkte.

Hvordan ser din handleSelectClick() funktion ud?
Avatar billede thesurfer Nybegynder
31. august 2006 - 21:32 #2
Hvordan ser din form ud?

Du kan sådan set gøre det på 2 måder:

1) Du kan have en submit knap.. hvis du bruger denne metode, gør følgende:
- Fjern (fra <form...>-linien): onSubmit="handleSelectClick();return false;"
- Tilføj (til <form...>-linien): method="post" action="ModtagerFilensNavn.php"
- Fjern (fra <select...>-linien): onClick="handleSelectClick();"

2) Klik på select-valgmuligheden skal submitte formen:
- Fjern (fra <form...>-linien): onSubmit="handleSelectClick();return false;"
- Tilføj (til <form...>-linien): method="post" action="ModtagerFilensNavn.php"
- Fjern (fra <select...>-linien): onClick="handleSelectClick();"
- Tilføj (til <select...>-linien): onClick="this.form.submit();"
Avatar billede thesurfer Nybegynder
31. august 2006 - 21:34 #3
Rettelse:

Du kan sådan set gøre det på 2 måder:

1) Du kan have en submit knap.. hvis du bruger denne metode, gør følgende:
- Fjern (fra <form...>-linien): onSubmit="handleSelectClick();return false;"
- Tilføj (til <form...>-linien): method="post" action="ModtagerFilensNavn.php"
- Fjern (fra <select...>-linien): onClick="handleSelectClick();"
- Tilføj (til selve formens indhold): <input type="submit" name="submit" value="Send">

2) Klik på select-valgmuligheden skal submitte formen:
- Fjern (fra <form...>-linien): onSubmit="handleSelectClick();return false;"
- Tilføj (til <form...>-linien): method="post" action="ModtagerFilensNavn.php"
- Fjern (fra <select...>-linien): onClick="handleSelectClick();"
- Tilføj (til <select...>-linien): onClick="this.form.submit();"
Avatar billede simon_jacobsen Nybegynder
31. august 2006 - 21:35 #4
har fjernet functionen for vil have sendt den videre via submit.
men kan ikke hente værdien, da den tilsyneladende ikke kommer med pågrund af at den ikke er "rigtigt" selected...
Avatar billede simon_jacobsen Nybegynder
31. august 2006 - 21:36 #5
<?php
    echo    "<form name=\"adde\" method=\"POST\" action=\"add_klasse.php\">";
?>
Klassen's Postnr.<br>
<input class="tekst" size="5" TABINDEX=1 maxlength="4"  type="text" name="postnr" onKeyUp="handleKeyUp(9999999);"/><br>

    Klasse<br>
               
                <select TABINDEX=2 name="functionselect" onChange="document.adde.functionselect.selectedIndex=this.selectedIndex"></select>
                <br>
<input class="field" type="radio" TABINDEX=3 name="metode" value="0" <?php if($_POST['metode'] <> "1"){ echo "checked"; } ?> onclick="klpass.disabled=true" />Send forespørgsel<br>
<input class="field" type="radio" TABINDEX=4 name="metode" value="1" <?php if($_POST['metode'] == "1"){ echo "checked"; } ?> onclick="klpass.disabled=false" />Har klasse password<br>
    Klasse Password<br />
    <input class="tekst" size="20" TABINDEX=5 type="password" <?php if($_POST['metode'] <> "1"){ echo "disabled=\"true\""; } ?> name="klpass" /><br>
    <input class="button" TABINDEX=6 name="tilmeld" type="submit" value="Tilmeld" />
Avatar billede simon_jacobsen Nybegynder
31. august 2006 - 21:38 #6
prøver lige :)
Avatar billede simon_jacobsen Nybegynder
31. august 2006 - 21:42 #7
den vil simpelthen ikke sende dete til næste side ... prøver at få det med :
echo $_POST['functionselect'];
Avatar billede simon_jacobsen Nybegynder
31. august 2006 - 21:43 #8
har ændret select til : <select TABINDEX=2 name="functionselect"></select>
Avatar billede thesurfer Nybegynder
31. august 2006 - 21:55 #9
3) Et skjult felt.
<form... onsubmit="return SkrivTilSkultFelt(this)">
...
<input type="hidden" name="skjult" value="">

java script:

<script ...
...

function SkrivTilSkultFelt(f)
{
f.skjult.value = f.functionselect.value;
return true;
}
</script>
Avatar billede thesurfer Nybegynder
31. august 2006 - 21:59 #10
Så skulle du gerne kunne fange værdien, via feltet med navnet "skjult".

Dvs, noget i stil med: $_POST['skjult']
Avatar billede thesurfer Nybegynder
31. august 2006 - 22:01 #11
Jeg tester det lige selv..
Avatar billede simon_jacobsen Nybegynder
31. august 2006 - 22:05 #12
<form name="adde" method="POST" action="add_klasse.php" onsubmit="return SkrivTilSkultFelt(this)">

Klassen's Postnr.<br>
<input class="tekst" size="5" TABINDEX=1 maxlength="4"  type="text" name="postnr" onKeyUp="handleKeyUp(9999999);"/><br>
<input type="hidden" name="skjult" value="2">
    Klasse<br>
               
                <select TABINDEX=2 name="functionselect"></select>
                <br>
<input class="field" type="radio" TABINDEX=3 name="metode" value="0" <?php if($_POST['metode'] <> "1"){ echo "checked"; } ?> onclick="klpass.disabled=true" />Send forespørgsel<br>
<input class="field" type="radio" TABINDEX=4 name="metode" value="1" <?php if($_POST['metode'] == "1"){ echo "checked"; } ?> onclick="klpass.disabled=false" />Har klasse password<br>
    Klasse Password<br />
    <input class="tekst" size="20" TABINDEX=5 type="password" <?php if($_POST['metode'] <> "1"){ echo "disabled=\"true\""; } ?> name="klpass" /><br>
    <input class="button" TABINDEX=6 name="tilmeld" type="submit" value="Tilmeld" />
    <br>
    </form>

men kan ikke lige fange feltet ...
Avatar billede simon_jacobsen Nybegynder
31. august 2006 - 22:08 #13
det ser ud til at functionen :
function SkrivTilSkultFelt(f)
{
f.skjult.value = f.functionselect.value;
return true;
}
ikke virker helt optimalt, da 2 tallet jeg har lagt i skjult værdien heller ikke kommer igennem
Avatar billede simon_jacobsen Nybegynder
31. august 2006 - 22:09 #14
hvis jeg sletter linien
f.skjult.value = f.functionselect.value;
så kommer to tallet igennem .. hmmm forstår det desværre ikke
Avatar billede thesurfer Nybegynder
31. august 2006 - 22:19 #15
onSubmit: onSubmit="return SkrivTilSkjultFelt(this, this.functionselect.options[this.functionselect.selectedIndex].text)"

select, onclick: (ingenting)

skjult felt: <input type="hidden" name="skjult" value="">

java script:
function SkrivTilSkjultFelt(f,v)
{
f.skjult.value = v;
return true;
}
Avatar billede simon_jacobsen Nybegynder
31. august 2006 - 22:22 #16
super hjælp :)
Nu kommer det igennem :)
Du skal have mange mange tak
Avatar billede thesurfer Nybegynder
31. august 2006 - 22:28 #17
Så smider jeg et svar :-)

Koden kan sikkert laves på en bedre måde, men det ser ud til at virke.. :-)
Avatar billede simon_jacobsen Nybegynder
31. august 2006 - 22:29 #18
har rettet det lidt til, men det virker perfekt :)
undre mig lidt over at det skulle være så indviklet, men det virker så jeg er en glad mand :)
Avatar billede thesurfer Nybegynder
31. august 2006 - 22:45 #19
Jeg så lige, at JavaScript koden ikke tilføjede value.. hvilket er grunden til at du ikke kan bruge $_POST['functionselect']

Rettelse:

- java script: Ret koden til "selectObj[numShown] = new Option(functionlist[i],functionlist[i]);"
- java script: slet funktionen "SkrivTilSkjultFelt" (den er nu overflødig)
- form: fjern onsubmit="..." (yep, hele onsubmit)
- form: fjern <input type="hidden" name="skjult" value="">

Vælg noget i select og submit formen.. prøv så med $_POST['functionselect'] i stedet for $_POST['skjult']..


- Takker for points.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester