Soucis de JS avec ie (6 et 7) No soucis avec FF( 1,2,3) ATTENTION NOOB INSIDE :)

Fabi3n Messages postés 3 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 19 décembre 2008 - 19 déc. 2008 à 10:06
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 19 déc. 2008 à 14:24
Bonjour a tous.
Voila ma première contribution dans le forum est pour demander de l'aide car je ne comprends pas grand chose au javascript (promis demain je m'y mets)

j'ai un formulaire d'inscription sur mon site et je souhaite avoir un pop-up lorsqu'un des champs obligatoire n'est pas remplis.
Sous Firefox aucun soucis. Mais sous Internet Explorer (version 6 ou 7), le pop-up apparait systématiquement alors que TOUS les champs sont bien renseignés ! Impossible donc d'envoyer le formulaire. Gênant !

Voici le JS : (je ne trouve pas la fonction "code" pour poster du code ?!)
<script language="JavaScript">

function envoie(formulaire) {
if ( (document.getElementById('nom').value.length>0)
&&(document.getElementById('prenom').value.length>0)
&&(document.getElementById('plan').value.length>0)
&&(document.getElementById('projet').value.length>0)
&&(document.getElementById('situation').value.length>0)
&&(document.getElementById('login').value.length>0)
&&(document.getElementById('pass').value.length>0)
&&(document.getElementById('email').value.length>0)
){
formulaire.submit();
} else
alert('IMPOSSIBLE D\' ENVOER LE FORMULAIRE, VOUS AVEZ OUBLIEZ DE REMPLIRE UN DES CHAMPS OBLIGATOIRES');
}
</script>

Voici mon html:

<h2>Formulaire d'inscription </h2><BR />
<h2>
<font color="#FFf000"> Les cases marqu&eacute;es d'une * sont obligatoires
</font></h2><BR /> </center>
<form action="envoi.php" method="post" name="formulaire" id="formulaire">
<table boderspacing='0' cellspacing='0' style="margin-left:130px;">
<tr>
<td align="right">

Plan d' h&eacute;bergement :</td>
<td>
&nbsp;&nbsp;<select class="black" name="plan" id="plan">
<option> Plan Basic (100Mo / Pas de pub ...)
</option>
<option> Plan Silver (300Mo / Pas de pub ...)
</option>
<option> Plan Gold (1Go / Pubs impos&eacute;es ...)
</option>

</select></td>
</tr>
<tr>
<td align="right">*Genre:</td>
<td>&nbsp;&nbsp; Monsieur
<input type="radio" name="sex" value="Monsieur" id="sex"> Madame
<input type="radio" name="sex" value="madame"id="sex"></td>
</tr>

<tr>
<td align="right">
*Nom :</td>
<td>
&nbsp;&nbsp;<input class="black" type="text" name="nom" id="nom"></td>
</tr>
<tr>
<td align="right">
*Pr&eacute;nom :</td>

<td>
&nbsp;&nbsp;<input class="black" type="text" name="prenom"id="prenom"></td>
</tr>
<tr>
<td align="right">
*Vous &ecirc;tes :</td>
<td>
&nbsp;&nbsp;<select class="black" name="situation" id="situation">

<option> --
</option>
<option> Un particulier
</option>
<option> Une association
</option>
<option> Un professionnel
</option>
</select></td>

</tr>
<tr>
<td align="right">
Profession :</td>
<td>
&nbsp;&nbsp;<input class="black" name="profession" type="text" id="profession"></td>
</tr>
<tr>

<td align="right">
*Login souhait&eacute; :</td>
<td>
&nbsp;&nbsp;<input class="black" name="login" type="text" id="login">
(cela sera le nom du site)</td>
</tr>
<tr>

<td align="right">
*Mot de passe :</td>
<td>
&nbsp;&nbsp;<input class="black" name="pass" type="password" id="pass"></td>
</tr>
<tr>
<td align="right">
Date de naissance :</td>

<td>&nbsp;&nbsp; Jour
<select class="black" name="jour" id="jour">
<option>--<option value=1>1<option value=2>2<option value=3>3<option value=4>4<option value=5>5<option value=6>6<option value=7>7<option value=8>8<option value=9>9<option value=10>10<option value=11>11<option value=12>12<option value=13>13<option value=14>14<option value=15>15<option value=16>16<option value=17>17<option value=18>18<option value=19>19<option value=20>20<option value=21>21<option value=22>22<option value=23>23<option value=24>24<option value=25>25<option value=26>26<option value=27>27<option value=28>28<option value=29>29<option value=30>30<option value=31>31 </select> Mois
<select class="black" name="mois" id="mois">

<option> --
</option>
<option> Janvier
</option>
<option> F&eacute;vrier
</option>
<option> Mars
</option>

<option> Avril
</option>
<option> Mai
</option>
<option> Juin
</option>
<option> Juillet
</option>
<option> Ao&ucirc;t
</option>

<option> Septembre
</option>
<option> Octobre
</option>
<option> Novembre
</option>
<option> D&eacute;cembre
</option>

</select> Ann&eacute;e
<select class="black" name="annee" id="annee">
<option>--<option value=1930>1930<option value=1931>1931<option value=1932>1932<option value=1933>1933<option value=1934>1934<option value=1935>1935<option value=1936>1936<option value=1937>1937<option value=1938>1938<option value=1939>1939<option value=1940>1940<option value=1941>1941<option value=1942>1942<option value=1943>1943<option value=1944>1944<option value=1945>1945<option value=1946>1946<option value=1947>1947<option value=1948>1948<option value=1949>1949<option value=1950>1950<option value=1951>1951<option value=1952>1952<option value=1953>1953<option value=1954>1954<option value=1955>1955<option value=1956>1956<option value=1957>1957<option value=1958>1958<option value=1959>1959<option value=1960>1960<option value=1961>1961<option value=1962>1962<option value=1963>1963<option value=1964>1964<option value=1965>1965<option value=1966>1966<option value=1967>1967<option value=1968>1968<option value=1969>1969<option value=1970>1970<option value=1971>1971<option value=1972>1972<option value=1973>1973<option value=1974>1974<option value=1975>1975<option value=1976>1976<option value=1977>1977<option value=1978>1978<option value=1979>1979<option value=1980>1980<option value=1981>1981<option value=1982>1982<option value=1983>1983<option value=1984>1984<option value=1985>1985<option value=1986>1986<option value=1987>1987<option value=1988>1988<option value=1989>1989<option value=1990>1990<option value=1991>1991<option value=1992>1992<option value=1993>1993<option value=1994>1994<option value=1995>1995<option value=1996>1996<option value=1997>1997<option value=1998>1998<option value=1999>1999<option value=2000>2000<option value=2001>2001<option value=2002>2002<option value=2003>2003<option value=2004>2004<option value=2005>2005<option value=2006>2006<option value=2007>2007<option value=2008>2008<option value=2009>2009<option value=2010>2010<option value=2011>2011<option value=2012>2012<option value=2013>2013<option value=2014>2014<option value=2015>2015<option value=2016>2016<option value=2017>2017<option value=2018>2018<option value=2019>2019<option value=2020>2020<option value=2021>2021<option value=2022>2022<option value=2023>2023<option value=2024>2024<option value=2025>2025<option value=2026>2026<option value=2027>2027<option value=2028>2028<option value=2029>2029<option value=2030>2030<option value=2031>2031<option value=2032>2032<option value=2033>2033<option value=2034>2034<option value=2035>2035<option value=2036>2036<option value=2037>2037<option value=2038>2038<option value=2039>2039<option value=2040>2040<option value=2041>2041<option value=2042>2042<option value=2043>2043<option value=2044>2044<option value=2045>2045<option value=2046>2046<option value=2047>2047<option value=2048>2048<option value=2049>2049<option value=2050>2050<option value=2051>2051<option value=2052>2052<option value=2053>2053<option value=2054>2054<option value=2055>2055<option value=2056>2056<option value=2057>2057<option value=2058>2058<option value=2059>2059<option value=2060>2060<option value=2061>2061<option value=2062>2062<option value=2063>2063<option value=2064>2064<option value=2065>2065<option value=2066>2066<option value=2067>2067<option value=2068>2068<option value=2069>2069<option value=2070>2070<option value=2071>2071<option value=2072>2072<option value=2073>2073<option value=2074>2074<option value=2075>2075<option value=2076>2076<option value=2077>2077<option value=2078>2078<option value=2079>2079<option value=2080>2080<option value=2081>2081<option value=2082>2082<option value=2083>2083<option value=2084>2084<option value=2085>2085<option value=2086>2086<option value=2087>2087<option value=2088>2088<option value=2089>2089<option value=2090>2090<option value=2091>2091<option value=2092>2092<option value=2093>2093<option value=2094>2094<option value=2095>2095<option value=2096>2096<option value=2097>2097<option value=2098>2098<option value=2099>2099<option value=2100>2100 </select></td>

</tr>
<tr>
<td align="right">
*Adresse email:</td>
<td>
&nbsp;&nbsp;<input class="black" name="email" type="text" id="email" size="50">
(doit imp&eacute;rativement &ecirc;tre valide)</td>

</tr>
<tr>
<td align="right">
*Description du projet :<BR /></td>
<td>
&nbsp;&nbsp;<textarea class="black" type="text" name="projet" id="projet" cols="50" rows="10"></textarea></td>
</tr>
<tr>

<td></td>
<td>

<input type="checkbox" name="check" value='OK' onclick="ChangeStatut(this.form);" >
</input>
<b>J'ai lu et j'accepte les conditions d'utilisation</b></td>
</tr>
<tr>
<td>

</td>
<td>
<input class="btn" name="sub" type="button" disabled="disabled" id="envoyer" value="Valider" onClick="envoie(this.form)">
<input class="btn" name="retablir" type="reset" id="retablir" value="Annuler"></td>
</tr>
</table>

Merci de votre aide !!

Fab.

Hébergement gratuit sur http://www.free-host.fr
Si la roue pète le gaz part.
A voir également:

6 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
19 déc. 2008 à 10:38
bonjour,
pourquoi n'a tu pas mis tous les tests en commentaires
puis les "décommentariser" 1 par 1 pour voir ....
tu aurais trouver ou ça queute

        && document.getElementById('plan').value.length>0
déjà ( pas regardé plus loin ) !
perso j'eusse plutôt utilisé document.getElementById('plan').selectedIndex>0
toi, c'est l'abréviation de
document.getElementById('plan').options[document.getElementById('plan').selectedIndex].value.length

or.... tes select n'ont pas de value ! justement !
<select class="black" name="plan" id="plan">
          <option> Plan Basic (100Mo / Pas de pub ...)</option>
          <option> Plan Silver (300Mo / Pas de pub ...)</option>
          <option> Plan Gold (1Go / Pubs impos&eacute;es ...)</option>

FireFox met le text par défaut pour le .value... pas IE.

Cordialement

          [mon Site] [M'écrire] Bul         
0
Fabi3n Messages postés 3 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 19 décembre 2008
19 déc. 2008 à 13:31
Merci bul3 pour ta réponse rapide.
J'ai essayé de remplacer les
document.getElementById('plan').value.length>0
par des
document.getElementById('plan').selectedIndex>0

mais ca n'a pas l'air de fonctionner. J'ai peut-etre pas bon :)
Je ne comprends pas tout a vrai dire. Et je ne sais pas trop quoi faire pour solutionner mon problème.

Je cherche et vous tiens au courant.

Hébergement gratuit sur http://www.free-host.fr
Si la roue pète le gaz part.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
19 déc. 2008 à 13:38
>>mais ca n'a pas l'air de fonctionner.
ça devrait ( j'ai fait fonctionné chez moi )

>>J'ai peut-etre pas bon :)
va savoir....
et je me cite ( en corrigeant les fote dortografe... toutes ?? ) :
pourquoi n'as tu pas mis tous les tests en commentaire
puis les "décommentariser" 1 par 1 pour voir ....
tu aurais trouver où ça queute
...
déjà ( pas regardé plus loin ) !
...

          [mon Site] [M'écrire] Bul         
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
19 déc. 2008 à 13:43
petite précision néanmoins,
si ce que tu faisais pour un select ne fonctionnait pas, il y a de fortes
   chances pour que cela ne fonctionne pas avec les autres....
tu as combien de tests sur des select ?
          [mon Site] [M'écrire] Bul        

on ne dit pas néanmoins, mais handicapé nasal.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fabi3n Messages postés 3 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 19 décembre 2008
19 déc. 2008 à 14:01
Euh? humm

en fait je pige que dalle :)
J'avais pris un script tout fait sur le net et je l'avais testé avec FF car c'est mon navifateur par défaut. Et je me suis rendu compte hier que cela ne fonctionnait pas avec IE.
"tu as combien de tests sur des select ?"
Je ne sais pas de quoi tu parles en fait ! Je pensais qu'il manquait une virgule ou quelque chose comme ca dans le script, mais ca m'a l'air plus complexe. Et vu que je n'y connais rien, je vais peut-etre abandonner l'idée d'un script de vérification de champs rempli !

Merci
Fab.

Hébergement gratuit sur http://www.free-host.fr
Si la roue pète le gaz part.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
19 déc. 2008 à 14:24
>>(promis demain je m'y mets)
pourquoi pas aujourd'hui ?

parce que franchement si tu ne comprends pas ce que je dis,
         tu devrais acheter un truc tout fait et ne pas toucher
         à la programmation ( javascript ou autre .. )
         ce n'est pas une tare que de ne pas comprendre, très
         loin de là ! mais dans ce cas, il ne faut pas essayer de faire....
         surtout que ça existe, et pas très cher.

          [mon Site] [M'écrire] Bul         
0
Rejoignez-nous