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

Signaler
Messages postés
3
Date d'inscription
vendredi 19 décembre 2008
Statut
Membre
Dernière intervention
19 décembre 2008
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
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.

6 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
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         
Messages postés
3
Date d'inscription
vendredi 19 décembre 2008
Statut
Membre
Dernière intervention
19 décembre 2008

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.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>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         
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
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.
Messages postés
3
Date d'inscription
vendredi 19 décembre 2008
Statut
Membre
Dernière intervention
19 décembre 2008

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.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>(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