PB récupérer select / interférence code javascript

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PB récupérer select / interférence code javascript

par Ryle » 10 janv. 2007, 12:00

Tu nous fais un p'tit clic sur Image pour dire aux autres que ce sujet contient une solution ? :)

(enfin pas celui là hein ?! celui en haut à gauche du sujet ;))

par Abfab » 10 janv. 2007, 11:54

Mea culpa pour le post dans la FAQ.
Et merci Ryle ça fonctionne

par Ryle » 09 janv. 2007, 18:31

Si tu rajoutes des crochets dans le nom du champ, il faut modifier la façon dont tu l'appel en javascript en passant par les objets du dom :

Code : Tout sélectionner

// au lieu de document.formulaire.champ // il te faut faire document.formulaire.elements['champ[]']
Et ça devrait mieux marcher :)

par Ultim4T0m » 09 janv. 2007, 18:23

Pas de post dans la FAQ ...

Et penses à utiliser les balises Code ou PHP pour permettre une meilleure lecture de ton code, et à indenter ton code.

par zeus » 09 janv. 2007, 18:23

Modération :
La FAQ n'est pas prévue pour recevoir des demandes d'aide.
Je déplace ton message dans le forum "Javascript, AJAX".

De plus, merci d'utiliser les balises
 ou [CODE] pour la mise en forme de ton code

Merci de prendre le temps de lire [url=http://www.phpfrance.com/forums/voir_sujet-12542.php][b]les règlements[/b][/url].[/color]

PB récupérer select / interférence code javascript

par Abfab » 09 janv. 2007, 18:21

Bonjour,

J'ai créé un formulaire qui sert de panier. Une fonction Ajouter(form) limite le choix à 4 produits.

Voici le code de "form.htm":

Code : Tout sélectionner

<html> <head> <title>Enquiry Form</title> <SCRIPT LANGUAGE="JavaScript"> <!-- function Ajouter(form) { var o=new Option(form.products.value); form.liste.options[form.liste.options.length]=o; if(form.liste.options.length>=4){form.add.disabled=true} else {form.add.disabled=false} } function ChangeStatut(button) { button.disabled=false; } function Supprimer(list) { if (list.options.selectedIndex>=0) { list.options[list.options.selectedIndex]=null; } else { alert("Suppression impossible : aucune ligne sélectionnée"); } } function SupprimerTout(list) { list.options.length=0; } //--> </script> <script language="JavaScript"> function SelectList(list){ // On compte le nombre d'item de la liste select n=list.options.length; // On lance une boucle pour selectionner tous les items for (a = 0; a<n; a++) { list.options[a].selected = true; } } </script> </head> <body text="#FFFFFF" bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <div class=Section1 align="center"> <form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire"> <table width="800" border="0" name="form" align="left"> <tr> <td width="150" align="right" rowspan="2"> <div align="right"> <p><font face="Arial, Helvetica, sans-serif" size="2" color="#FF9900"><b><font color="#0099FF">Product</font></b><font color="#000000"><br> Select up to 4 products</font></font></p> </div> </td> <td width="455" valign="top" rowspan="2"> <p> <select name="products" size="5" multiple> <option value="truc1">truc 1</option> <option value="truc 2">truc 2</option> <option value="truc 3">truc 3</option> <option value="truc 4">truc 4</option> <option value="truc 5">truc 5</option> <option value="truc 6">truc 6</option> <option value="truc 7">truc 7</option> <option value="truc 8">truc 8</option> <option value="truc 9">truc 9</option> </select> <input type="button" name="add" value="Add =>" style="FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #FF9900; font-weight:bold ; color: #003366; width:45px" onClick="Ajouter(this.form)"> <font face="Arial, Helvetica, sans-serif" size="2"> <select name="liste" size=4 style="width:190px" multiple> </select> </font></p> </td> <td valign="bottom" width="180" height="42"><font face="Arial, Helvetica, sans-serif" size="2"> <input type="button" name="remove" value="Remove selected" valign="bottom" onClick="Supprimer(this.form.liste);ChangeStatut(this.form.add)" style='FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #FF9900; font-weight:bold ; color: #003366; width:110px'> </font></td> </tr> <tr> <td valign="bottom" height="38" width="180"><font face="Arial, Helvetica, sans-serif" size="2"> <input type="button" value="Remove all" valign="bottom" onClick="SupprimerTout(this.form.liste);ChangeStatut(this.form.add)" name="removeall" style='FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #FF9900; font-weight:bold ; color: #003366; width:110px'> </font></td> </tr> <tr> <td width="150" align="right" height="72"><font color="#000000" face="Arial, Helvetica, sans-serif" size="2">* compulsory fields</font></td> <td colspan="2"> <p><font size="2" face="Arial, Helvetica, sans-serif"> <input type="submit" name="Submit" value="Send" style="FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #3DB7E4; font-weight:bold ; color: #ffffff"> </font><font size="2" face="Arial, Helvetica, sans-serif"><b> <input type="reset" name="Reset" value="Reset" style="FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #AAAAAA; font-weight:bold ; color: #ffffff"> </b></font></p> </td> </tr> <tr> <td height="13"></td> <td height="13"></td> <td height="13"> </td> </tr> <tr> <td height="422" colspan="3" valign="top"> </td> </tr> </table> </form> </div> </body> </html>
Ensuite j'envoie le form à "envoi.php" :
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">

<?php 

$tabListe = (isset($_POST['liste']))?$_POST['liste']:null; 

echo "Voici les produits que vous avez choisi :<br>"; 
// bouclons sur le tableau qui a été transmis et affichons les valeurs sélectionnées 
if (!empty($tabListe)) { 
    foreach($tabListe as $cle => $valeur) { 
        echo $cle.' : '.$valeur.'<br>'; 
    } 
} 


?> 
</body>
</html>
Pour ce dans "form.htm", il faudrait que je mette :

Code : Tout sélectionner

<select name="liste[]" size=4 style="width:190px" multiple>
Mais la fonction Ajouter(form) ne fonctionnne plus dès lors que je met les crochets.

Qq'1 peut-il m'aider?