23. februar 2006 - 16:06
Der er
6 kommentarer og 1 løsning
gennemløbe en postet array
Hej Jeg har fået en til at lave et javscript der gemmer oplysninger fra en multiple select liste ned i et array. function SelectAll(fromObject) { for (var i=0, l=fromObject.options.length;i<l;i++) { fromObject.options[i].text,fromObject.options[i].selected = true; } Min multiple select liste ser sådan ud: $result = mysql_query("select users_username from matches where date = '$date'");?> <select multiple name="player[]" size='8' style="width:200px"> <?while($query = mysql_fetch_array($result)){ if ($query['users_username'] != null){ echo "<option value=".$query['users_username'].">".$query['users_username']."</option>"; } }?> </select> Via submit poster jeg så arrayet videre til en ny side(PHP). <input type="button" value="Send data" onClick="SelectAll(this.form.elements['players[]']);submit()"> Mit problem er så at få fat i arrayet og løbe det igennem, så jeg kan få få fat i de data jeg har gemt. På forhånd tak
Annonceindlæg fra Computerworld it-jobbank
Mød 3.500+ it-talenter på IT-DAY 2026
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
23. februar 2006 - 16:12
#1
jeg har allerede fundet første fejl, hehe det tyder godt, der manglede lige et s i players: <select multiple name="players[]" size='8' style="width:200px">
25. februar 2006 - 21:36
#2
Du har slet ikke gemt nogle data !-) -- i den ovenstående kode, løber du bare en tur igennem uden at data bruges på nogen måde, så f.eks. function SelectAll(fromObject) { var hidField = fromObject.form.hidPlayers,txt=""; for (var i=0, l=fromObject.length;i<l;i++) { if(fromObject.options[i].selected) txt +="," + fromObject.options[i].text; } if(txt) hidField.value = txt.substring(1); } -- og så skal du i samme form tilføje et felt, der kan opbevare data: <input type="hidden" name="hidPlayers">
26. februar 2006 - 12:45
#3
Tak for dit svar, der blev mine manglende IT evner udstillet :-) Jeg har måtte flyttet en parentes i din kode for at få den postet til en anden side. function SelectAll(fromObject) { var hidField = fromObject.form.hidPlayers,txt=""; for (var i=0, l=fromObject.options.length;i<l;i++) { if(fromObject.options[i].selected) txt +="," + fromObject.options[i].text; if(txt) hidField.value = txt.substring(1); } } Men jeg kan stadig ikke få fat i arrayet fra min PHP side.
27. februar 2006 - 01:11
#4
Du skal vel hente den med $_POST("hidPlayers") (såvidt jeg husker !-) -- og flytningen af tuborgen skulle ingen spille trille, bortset fra, at den samme handling evt. gentages en hel del gange ...
27. februar 2006 - 20:02
#5
Kannon det virker og med metoden explode, er det nemt at gemme dataen fra den kommasepareret String i et array. Send et svar så du kan få dine velfortjente point.