| |||||
| Dernière réponse | |
|---|---|
| Sujet : [php / javascript] | |
| shinji | ça marche, j'avais essayer déjà et ça n'avait pas marché, je devais avoir une autre erreur!
Merci PS: le javascript et la liste sont rentrés! http://forum.hardware.fr/sqlforum/ [...] fr.inc#bas ;) |
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| shinji | ça marche, j'avais essayer déjà et ça n'avait pas marché, je devais avoir une autre erreur!
Merci PS: le javascript et la liste sont rentrés! http://forum.hardware.fr/sqlforum/ [...] fr.inc#bas ;) |
| Mara's dad | Le problème, c'est donc le nom du champ 'liste[]' !
Idée, en javascript, tu peux faire référence au champs d'un formulaire de plusieurs manière: Par son nom, mais manifestement, ici, çà marche pas, ou par son indice dans le tableau elements, comme pour le tableau forms. Dans ton cas, liste[] est le 2éme élément de la form f1 (ou forms[0]), donc tu doit pouvoir y accéder par : document.forms[0].elements[1] ou par document.f1.elements[1] A essayer, donc ! [edtdd]--Message édité par Mara's dad--[/edtdd] |
| shinji | J'arrive pas à adapter ma solution à ce script:
<? echo"<HTML>"; echo" <HEAD>"; echo" <script>"; echo" function ajouterliste(commune){"; echo" n=new Option(commune);"; echo" indexl=document.?liste?.options.length;"; echo" document.?liste?.options[indexl]=n;"; echo" document.?liste?.options[indexl].selected=true;"; echo" return false;"; echo" }"; echo" function afficher(commune){"; echo" document.f1.nom.value=commune;"; echo" return false;"; echo" }"; echo" </script>"; echo" </HEAD>"; echo" <BODY>"; echo" <form name=\"f1\" action=\"http://126.234.1.4/carte/carteliste/cartefinale.php\">"; echo" <TABLE border=\"0\">"; echo" <TR>"; echo" <TD>"; echo" <IMG src=\"http://126.234.1.4/carte/carteliste/carteselection.php?choixdept=".$choixdept."&x=".$x."&y=".$y."&rayon=".$rayon."\" usemap=\"#map1\" name=\"carte\">"; echo" <MAP name=\"map1\">"; $taillecartereelx=2753.54; $taillecartereely=2726.1; $taillecartex=515; $taillecartey=554; $transpox=28.84; $transpoy=61.6; $MinX=round(($x*$taillecartereelx)/$taillecartex)+$transpox-$rayon/2*3; if($MinX<0){$MinX=0;} $MaxX=round(($x*$taillecartereelx)/$taillecartex)+$transpox+$rayon/2*3; if($MaxX>$taillecartereelx){$MaxX=$taillecartereelx;} $MinY=round(($y*$taillecartereely)/$taillecartey)+$transpoy-$rayon/2*3; if($MinY<0){$MinY=0;} $MaxY=round(($y*$taillecartereely)/$taillecartey)+$transpoy+$rayon/2*3; if($MaxY>$taillecartereely){$MaxY=$taillecartereely;} $TailleX=$MaxX-$MinX; $TailleY=$MaxY-$MinY; $conn1 = Ora_Logon("scott","tiger" ); $curs1 = ora_open($conn1); if(strcmp($choixdept,"region" )==0){ $queryauto1="select * from BRETAGNE where MINX>".$MinX." AND MINY>".$MinY." AND MAXX<".$MaxX." AND MAXY<".$MaxY; }else{ $queryauto1="select * from BRETAGNE"; } ora_parse($curs1,$queryauto1); ora_exec($curs1); while(ora_fetch($curs1)){ $chaine="<AREA "; $commune = ora_getcolumn($curs1,0); $nom= ora_getcolumn($curs1,1); $coord = ora_getcolumn($curs1,4); $ptsco=explode(",",$coord); $nb=count($ptsco)/2; $nomcommune = ora_getcolumn($curs1,1); $chaine=$chaine."href=\"#liste[]\" shape=\"poly\" coords=\""."$coord"."\" onClick=\"return ajouterliste('".addslashes($nom)."');\" onMouseOver=\"afficher('".addslashes($nom)."');\">"; //http://126.234.1.4/carte/area/Copie%20de%20area.php#etiquette echo $chaine; } ora_close($curs1); echo" </MAP>"; echo" </TD>"; echo" <TD>"; echo" <TR>"; echo" <input type=\"text\" name=\"nom\">"; echo" </TR>"; echo"<br><br>"; echo" <TR>"; echo" <A NAME=\"etiquette\"></A>"; echo" <select size=7 name=\"liste[]\">"; echo" </select>"; echo" </TR>"; echo" <TR>"; echo" <input type=\"submit\" value=\"Valider\">"; echo" </TR>"; echo" </TD>"; echo" </TR>"; echo" </TABLE>"; echo" </form>"; echo" </BODY> "; echo"</HTML>"; ?> Je sais pas quoi mettre à la place de ?liste? |
| shinji | Je l'ai finté pour cet exemple :
echo" indexl=document.f1[0].options.length;"; |
| shinji | ça pose qd même problème car il aime pas "liste[]" dans ma fonction ajouterliste ci-dessous :(
<? echo"<HTML>"; echo" <BODY>"; echo" <script>"; echo" function ajouterliste(commune){"; echo" n=new Option(commune);"; echo" indexl=document.f1.liste[].options.length;"; echo" document.f1.liste[].options[indexl]=n;"; echo" document.f1.liste[].options[indexl].selected=true;"; echo" document.write(coucuo);"; echo" }"; echo" </script>"; echo" <form name=\"f2\">"; echo" <input type=reset value=\"ajouter\" onClick=\"ajouterliste('coucou');\">"; echo" </form>"; echo" <form name=\"f1\" action=\"essai2.php\">"; echo" <select size=7 name=\"liste[]\" multiple>"; echo" <option value=orcl>ORCL"; echo" <option value=oracle>ORACLE"; echo" <option value=ora>ORA"; echo" </select>"; echo" <input type=\"submit\" value=\"go\">"; echo" </form>"; echo" <BODY>"; echo"<HTML>"; ?> Il me met une erreur sur le caractère ] à la ligne en gras. C'est pas cool, y a-t-il une solution? |
| shinji | Merci! |
| Mara's dad | Soluce : name=liste[] ! ! !
Truc, quand j'arrive pas à voir ce qu'il y a dans mes variables, je met un phpinfo() dans le script qui reçois le formulaire. C'est rapide et facile à écrire... phpinfo() il dit que QueryString = liste=ora&liste=oracle C'est sur, comme çà, on as liste=oracle et c'est tout ! en mettant liste[]: QueryString = liste[]=ora&liste[]=oracle Et on donc liste[0]=ora et liste[1]=oracle ! |
| shinji | Voici mon formulaire multi-select:
<? echo"<HTML>"; echo" <BODY>"; echo" <form name=\"f1\" action=\"essai2.php\">"; echo" <select size=7 name=liste multiple>"; echo" <option value=orcl>ORCL"; echo" <option value=oracle>ORACLE"; echo" <option value=ora>ORA"; echo" </select>"; echo" <input type=\"submit\" value=\"go\">"; echo" <form>"; echo" <BODY>"; echo"<HTML>"; ?> Je sais pas comment récupérer les valeurs sélectionnés, $liste a pour valeur "ora" le dernier de la liste. J'ai essayer $liste, $liste[0],$liste[1]??? |




