Avatar billede mungojerrie Nybegynder
09. januar 2006 - 14:45 Der er 5 kommentarer og
1 løsning

udtræk af valgte data i 2 multiple select felter

Hej

Jeg har lavet mig to select felter, som jeg via javascript kan flytte indholdet fra den ene select over til den anden. Jeg vil så gerne kunne submitte min form der indeholder de 2 selects ifb med en "gennemse" funktionalitet og loade den samme side igen og udfylde mine 2 selects med de valgmuligheder de havde i submit øjeblikket.
Eks.
select box 1 indeholder emailadresserne :
test1@test.dk
test2@dum.dk
select box 2 er tom.
Brugeren vælger at flytte test1@test.dk over til select box 2
Herefter udfyldes der andre felter og brugeren vil nu gerne kunne "gennemse" sine valg inden de gemmes i db. Her vil jeg så gerne huske på brugerens valg.

Jeg har følgende kode.

        #sørg for at huske på valgte nyhedsmodtagere (email)

        $optionsarrayLeft = null;
        $optionsarrayRight = null;

        if(isset($_POST["Modtagere"]))
    {
      $optionsarrayLeft = array();
      $temp1 = $_POST["Modtagere"];
      foreach ($temp1 as $t1){$optionsarrayLeft[$t1] = $t1;}
    }else{
      echo "ingen modtagere fundet";
    }

    if(isset($_POST["vModtagere"]))
    {
      $optionsarrayRight = array();
          $temp2 = $_POST["vModtagere"];
      foreach ($temp2 as $t2){$optionsarrayRight[$t2] = $t2;}
    }else{
      echo "ingen valgte modtagere fundet";
    }


# HTML

<select multiple="yes" name="Modtagere[]" size="6" style="width: 220px;">
</select>

<select multiple="yes" name="vModtagere[]" size="6" style="width: 220px;">
<option value="test1@test.dk">test1@test.dk</option>
<option value="test2@dum.dk">test2@dum.dk</option>
</select>

Jeg får altid udskrevet : ingen modtagere fundet

Er der nogen der kan se fejlen eller er der mon en kendt bug her ?
Jeg har php 4.4.0 på mit hotel.
Avatar billede rednex Nybegynder
09. januar 2006 - 15:55 #1
Umiddelbart vil jeg skyde på at det er fordi der ikke er nogen valgte elementer i dine selects. Browseren sender kun de valgte elementer til serveren.

Du kan lave en onSubmit handler i javascript som vælger alle elementerne i select boksene inden formen bliver submitted. Så skulle det vist funke.
Avatar billede mungojerrie Nybegynder
09. januar 2006 - 16:01 #2
det har du muligvis ret i og det skal jeg nok lige ha kigget på, men selvom der er noget  i hver select felt, så kommer der stadig ikke noget i "Modtagere[]"

Sådan her :
<select multiple="yes" name="Modtagere[]" size="6" style="width: 220px;">
<option value="test2@dum.dk">test2@dum.dk</option>
</select>

<select multiple="yes" name="vModtagere[]" size="6" style="width: 220px;">
<option value="test1@test.dk">test1@test.dk</option>
</select>
Avatar billede mungojerrie Nybegynder
09. januar 2006 - 16:07 #3
hov, jeg er jo ligeglad med om folk ikke har valgt noget eller om de har valgt alle valgmuligheder i eks. "Modtagere[]" og "flyttet" dem over i "vModtagere[]". Det gør jo ikke noget, når jeg skal vise mit "preview/gennemse"
Avatar billede rednex Nybegynder
09. januar 2006 - 16:15 #4
Jeg går ud fra at meningen med de to bokse er, at den første indeholder alle email adresser i adressebogen, og den anden repræsenterer hvem man vil sende til.

For at finde ud af indholdet af den anden boks, er du nødt til at lave en onsubmit event på formen som vælger alle elementerne i den anden boks. Din browser sender nemlig kun de VALGTE elementer til serveren. Det vil sige at hvis der ikke er valgt nogen elementer vil $_POST['Modtagere'] være tom - ligemeget hvor mange elementer du har flyttet!
Avatar billede mungojerrie Nybegynder
09. januar 2006 - 16:20 #5
det har du jo ret i :-)
kan godt se når jeg vælger/markerer emailadresserne i eks begge select bokse, så kommer de med over......
smider du lige et svar ?
Avatar billede rednex Nybegynder
09. januar 2006 - 16:25 #6
Det kan du tro :o)
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