Champ obligatoire d'un formulaire ! [a l'aide ]

Eléphanteau du PHP | 32 Messages

30 mai 2008, 15:15

bonjour,

J'ai créer un formulaire où il y a des champs obligatoires, mon code est :
//formulaire ajout devis?>

<script>function checkrequired(which){
var pass=true
if (document.images){
for (i=0;i<which.length;i++)
var tempobj=which.elements[i]
if (tempobj.name.substring(0,8)=="required"){
if (((tempobj.type=="text"||tempobj.type=="textarea")&&tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&tempobj.selectedIndex==-1)){
pass=false
break
}
}
}
}
if (!pass){
alert("Certains champs de ce formulaire sont obligatoires, merci de bien vouloir les renseigner")
return false
}
else
return true
}
</script>

<h2 class=form>
<form name=info method=post  onSubmit="return checkrequired(this)">
STATUT * <select name="requiredetat"><option>prospect</option><option>client</option></select> <br><br><br>
Date * 


<? echo '	<input name="requireddated" type="text" size="2" value="'.date('d').'">&nbsp;/
				<input name="requireddatem" type="text" size="2" value="'.date('m').'">&nbsp;/
				<input name="requireddatey" type="text" size="2" value="'.date('Y').'">'			?>
				
				<br><br>
N&ordm; Devis * <input name="requirednum" type=text size="30"><br><br>
Nom responsable * <input name="requiredrespn" type=text size="30"><br>
Pr&eacute;nom responsable <input name="respp" type=text size="30"><br><br>
Nom soci&eacute;t&eacute; <input name="societe" type=visible size="30"><input name="societe" type=hidden size="30"><br>
Nom projet <input name="projet" type=text size="30"><br>
Activit&eacute; <input name="activite" type=text size="30"><br><br>
Email * <input name="requiredemail" type=text size="30"><br>
T&eacute;l&eacute;phone (fixe) <input name="telf" type=text size="10"><br>
T&eacute;l&eacute;phone (port) <input name="telp" type=text size="10"><br><br>
D&eacute;signation principale * <input name="requireddesignation" type=text size="50"><br><br>
<table width="50%" ><tr><th align="left">Produit</th><th align="left">Prix HT</th></tr>

<? $i=0; while ($tr=mysql_fetch_row($t)){ 	echo "<tr><td>".$tr[0]."</td><td>".$tr[1]."</td><td><input name=choixprodt".$i." type=checkbox></td></tr>"; 
											$i=$i+1;}?>
											
</table>
&nbsp;autre <input name="autre" type=text size="35" align="right" value="pr&eacute;cisez">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="montantp" type=text size="13" align="right" value="000.00">&nbsp;&nbsp;&nbsp;<input name=choixprodt type=checkbox><br>
<br><br><b>Montant HT </b><? echo '<input name="montant" type=text size="15" align="right" value='.$tot.'><br><br>'; ?>
<div><label class="alignTopLeft">Commentaires </label><textarea name="com" id="comments4" rows="3" cols="45"></textarea></div><br>
T&eacute;l&eacute;charger le fichier pdf <input type="file" name="textfield"><br><br><br>
<input name='button' type='submit' value='V A L I D E R'>

</form>
Je ne trouve pas mon erreur, il valide les données même si je n'est pas renseigner les champs obligatoires, pouvais vous m'aider ?
Modifié en dernier par flippaeti le 30 mai 2008, 16:39, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 mai 2008, 15:35

Bonjour,

Wouahou ... :shock:

Tu connais l'indentation ?
Je serais prêt à parier qu'il y a un soucis de parenthèse ou du genre.

Est-ce que tu as une erreur quelque part ? ton navigateur ne te dit pas qu'il y a eu une erreur JS ?

D'ailleurs, puisque ton problème est visiblement du JS :
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Débuter en PHP".

Merci de prendre le temps de lire les règlements
ainsi que l'intitulé de chaque forum avant de poster un nouveau sujet.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 32 Messages

30 mai 2008, 16:01

Non aucun message d'erreur comme si tout le code pour les champs obligatoire n'exister pas.

Et désolé je l'ai poster au muavaise endroit mais c'est parce que je débute en PHP et encore plus a JS

Mammouth du PHP | 1353 Messages

02 juin 2008, 09:58

Code : Tout sélectionner

for (i=0;i<which.length;i++) var tempobj=which.elements[i]
Tu n'ouvres pas de boucle ({ }) ici donc seule cette instruction est traitée dans le for, pas la vérification. Ainsi il ne traite que la dernière valeur...

Avec l'indentation supposée par zeus tu t'en serais peut etre rendu compte ;)
Tell me and I forget. Teach me and I remember. Involve me and I learn.