kuinka option elementin arvo saadaan ylikirjoitettua esim, ettei käyttäjän tarvitse valita uudelleen vaihtoehtoa valituksi palatessaan lomakkeen täyttöön. Ilm. selected-attribuutti pitää ylikirjoittaa, mutta miten?
Aseta keksi käyttäjälle ja sen perusteella sitten vaihtoehto valitaan. Kuinkas monta vaihtoehtoa siinä onkaan? Oikeastaan voisit laittaa tänne lähdekoodin siitä lomakkeesta niin tiedän että miten teen sen... kait...
Edit: kirjoitusvirheitä
elikkä käytössä on get-metodi ja isset onpi jo käytssä, ainoa vaan etten hoksaa miten saan ylikirjoitettua esim Pöytäkirjat-vaihtoehdon selected-attribuutin jos käyttäjä oli valinnut sen ja palaa lomakkeen täyttöön, kun hän esim. jätti jonkun muun kohdan lomakkeesta täyttämättä.
<select id="kategoria" name="kategoria"> <option value="0">Valitse kategoria -></option> <option value="1">Pöytäkirjat</option> <option value="2">Muistiot</option> <option value="3">Muut</option> </select> </p>
Muiden tekstikenttien ylikirjoitus oli helppoa, tyyliin:
<input id="otsikko" size="70" type="text" name="otsikko" value="<?php echo $_GET["otsikko"]; ?>" />
Voisinkohan enää vaikeammin selittää =)
<?php echo "<select id=\"kategoria\" name=\"kategoria\">"; if($_GET["kategoria"]==0){ echo "<option value=\"0\" selected=\"selected\">Valitse kategoria -></option>";} else{ echo "<option value=\"0\">Valitse kategoria -></option>";} if($_GET["kategoria"]==1){ echo "<option value=\"1\" selected=\"selected\">Pöytäkirjat</option>";} else{ echo "<option value=\"1\">Pöytäkirjat</option>";} ... jne. ?>
No mutta kiitosta oikein paljon! It's alive!!!
Blaze: ei tartte laittaa näin:
<option value="0" selected="selected">Moi</option>
Riittää kun se on näin:
<option value="0" selected>Moi</option>
Kumpikin tapa on sinänsä validia HTML:ää, että ei sillä lienee paljoakaan väliä kumpaa käyttää.
lainaus:
Blaze: ei tartte laittaa näin
Näyttääpi tuo XHTML olevan meikäläisellä jo verissä...
onpahan vanha ketju mutta vastaanpa silti.
eli itselläni on tapana tehdä nuo selectit yms iteroimalla jolloin tuommoinen tilatallennus on helppo toteuttaa, optioneita on helppo lisäillä eikä tarvii ryhtyä tuohon if-else -helvettiin...
koodia ei ole testattu joten en takaa copy-paste toimivuutta mutta idea selviää...
<select name="kategoria"> <?php if( isset($kategoria) ): ?> <option value="-1" selected> Valitse kategoria <?php else: ?> <option value="-1" selected> Valitse kategoria <?php endif; ?> <?php function htmlOption( $cap, $val, $sel=false ) { printf( "<option value=\"%s\" %s>%s", $val, ($sel ? "selected" : ""), $cap ); } $kategoriat= array( "Pöytäkirjat", "Muistiot", "Muut" ); for( $i=0; $i<sizeof($kategoriat); $i++ ) { htmlOption( $kategoriat[$i], $i, (isset($kategoria) && ($kategoria == $i)) ); } ?> </select> // hmm
Aihe on jo aika vanha, joten et voi enää vastata siihen.