09. september 2007 - 14:55
Der er
9 kommentarer og 1 løsning
Værdi i select felt skal vises med det samme.
Hey, Hvordan kan jeg få værdien til at opdateret med det samme i en select form? <select name="valgside"> <option <? if($_POST['valgside'] == "page1"){ echo "selected"; } ?> value="page1">Page1 <option <? if($_POST['valgside'] == "page2"){ echo "selected"; } ?> value="page2">Page2 </select> Så værdien bliver vist med det samme, uden man man først skal trykke på en "post submit"
Annonceindlæg fra Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
09. september 2007 - 15:08
#1
Det forstod jeg ikke.. :-) Du mangler også at afslutte dine options med </option>.. Kan du give et eksempel på det du vil..?
09. september 2007 - 15:14
#2
<select name="valgside" onChange="this.form.submit();"> Noget a lá det?
09. september 2007 - 15:16
#3
michael_stim> Ahh.. nu giver det mening.. :-)
09. september 2007 - 15:21
#4
:-) Præcis det jeg tænkte på. Smid du bare svar.
09. september 2007 - 15:51
#5
Ellers tak, samler ikke på point ;o) Smid du bare et svar selv og accepter.
09. september 2007 - 17:54
#6
Mange tak michael :-) men der opstod lige et problem. Har prøvet at sætte onChange="this.form.submit(); ind i denne kode, men der opstår et problem. Den går nemlig automatisk ind og sætter blank side i databasen, på den side man skifter til. Ideen med koden, er at man skal kunne rette sider. Og når man vælger en side (page1, page2 ...-> page 5) kommer sidens tekst direkte over i textarea feltet. Men da onChange="this.form.submit(); går ind og sætter en blank side, kan jeg ikke hente noget tekst ud :) ############################ <?php $page = $_POST["valgside"]; if ($_SERVER["REQUEST_METHOD"] == "POST") { mysql_query("UPDATE `pages` SET `$page` = '$_POST[$page]'") or die(mysql_error()); } $opdater = mysql_query("SELECT * FROM `pages` WHERE `id` = '1'") or die(mysql_error()); while ($row = mysql_fetch_array($opdater)) { $side1 = $row[page1]; $side2 = $row[page2]; $side3 = $row[page3]; $side4 = $row[page4]; $side5 = $row[page5]; ?> <form method="post" enctype="multipart/form-data"> Vælg side:<br> <select name="valgside" onChange="this.form.submit();"> <option <? if($_POST['valgside'] == "page1"){ echo "selected"; } ?> value="page1">Page1 <option <? if($_POST['valgside'] == "page2"){ echo "selected"; } ?> value="page2">Page2 <option <? if($_POST['valgside'] == "page3"){ echo "selected"; } ?> value="page3">Page3 <option <? if($_POST['valgside'] == "page4"){ echo "selected"; } ?> value="page4">Page4 <option <? if($_POST['valgside'] == "page5"){ echo "selected"; } ?> value="page5">Page5 </select><br><br> Rediger siden:<br> <textarea name="<?php echo $page ?>" class="textarea" rows="1" cols="20"> <?php if($_POST['valgside'] == "page1"){ echo $side1; } else if($_POST['valgside'] == "page2"){ echo $side2; } else if($_POST['valgside'] == "page3"){ echo $side3; } else if($_POST['valgside'] == "page4"){ echo $side4; } else if($_POST['valgside'] == "page5"){ echo $side5; } ?> </textarea><br><br> <input type="submit" name="gem" value="Opdater side" class="submit"><input type="reset" value="Fortryd" class="submit"> <?php } ?> Håber du kan hjælpe :)
09. september 2007 - 22:17
#7
Måske noget med 2 forme. Og så checke om der bliver klikket på "gem". Altså 2 isset. I toppen: if(isset($_POST['gem'])){ Din kode } og i form 2: if(isset($_POST['valgside'])){ din text area } Men det kan laves smartere med javascript. Så slipper du for at siden reloader hver gang du vælger side.
10. september 2007 - 14:52
#8
Det virkede sku :) mange tak for hjælpen. syntes du skal smide et svar, så du kan få nogle velfortjente point.
10. september 2007 - 14:55
#9
Som sagt, samler ikke på point. Bliver hverken mæt eller rig af dem ;o)
10. september 2007 - 16:23
#10
nej desvære :).. Så lukker jeg her. tak
Vi tilbyder markedets bedste kurser inden for webudvikling