Tester les champs vides
MiWi86-33
Messages postés
149
Statut
Membre
-
MiWi86-33 Messages postés 149 Statut Membre -
MiWi86-33 Messages postés 149 Statut Membre -
Bonjour bonjour!!!!!
j'ai un formulaire, et j'aimerais pouvoir tester les champs vides avant d'envoyer mon formulaire.
Mais voilà, 2 problèmes se posent :
-le premier : je n'arrive pas à faire le contrôle correctement sur mes boutons radios, le contrôle n'est positif que lorsque je valide le premier choix!
-le deuxième : même si il y a des champs vide, mon formulaire est quand même envoyé à ma page action ="reg.php".
Ce que je souhaite, c'est donc de régler mon soucis avec les boutons radios, mais aussi de ne pas envoyer mon formulaire, s'il y a des champs vide.
je vous montre mon code :
Code :
et comment ajouter les couleurs au bouton radio vide? comme pour chaine ou port avec la fonction couleur(obj)...
Merci d'avance pour vos futurs réponses!!!
j'ai un formulaire, et j'aimerais pouvoir tester les champs vides avant d'envoyer mon formulaire.
Mais voilà, 2 problèmes se posent :
-le premier : je n'arrive pas à faire le contrôle correctement sur mes boutons radios, le contrôle n'est positif que lorsque je valide le premier choix!
-le deuxième : même si il y a des champs vide, mon formulaire est quand même envoyé à ma page action ="reg.php".
Ce que je souhaite, c'est donc de régler mon soucis avec les boutons radios, mais aussi de ne pas envoyer mon formulaire, s'il y a des champs vide.
je vous montre mon code :
Code :
<script type="text/Javascript">
function couleur(obj)
{
obj.style.backgroundColor = "#FFFFFF";
}
function check()
{
var msg = "";
if (document.getElementById('adrMan').value != "")
{
var expr = /^(((22[4-9]|23[0-9])\.)((25[0-4]|2[0-4][0-9]|[1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])\.)((25[0-4]|2[0-4][0-9]|[1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.)((25[0-4]|2[0-4][0-9]|[1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9]))$)/;
if(!expr.exec(document.getElementById('adrMan').value))
{
document.getElementById('adrMan').style.backgroundColor = "#F3C200";
msg += "adresse non valide : sélectionnez une adresse entre 224.0.1.0 et 239.254.254.254";
}
}
else
{
document.getElementById('adrMan').style.backgroundColor = "#F3C200";
msg += "Veuillez saisir une adresse IP.\n";
}
if (document.getElementById('adrAuto').value != "")
{
if(document.getElementById('selectAuto').checked == "")
{
msg += "Veuillez choisir entre permanent et temporaire \n";
document.getElementById('selectAuto').style.backgroundColor = "#F3C200";
}
}
if (document.getElementById('port').value == "")
{
msg += "Veuillez saisir un numéro de port \n";
document.getElementById('port').style.backgroundColor = "#F3C200";
}
if (document.getElementById('chaine').value == "")
{
msg += "Veuillez saisir un nom de chaine\n";
document.getElementById('chaine').style.backgroundColor = "#F3C200";
}
if (document.getElementById('type').checked == "")
{
msg += "Veuillez choisir un type (MPTS ou SPTS)\n";
document.getElementById('type')[i].style.backgroundColor = "#F3C200";
}
if (document.getElementById('codage').checked == "")
{
msg += "Veuillez choisir un codage (MPG4 ou MPEG2)\n";
document.getElementById('codage').style.backgroundColor = "#F3C200";
}
if (document.getElementById('def').checked == "")
{
msg += "Veuillez choisir une définition (HD ou SD)\n";
document.getElementById('def').style.backgroundColor = "#F3C200";
}
if (document.getElementById('syst').checked == "")
{
msg += "Veuillez choisir un systeme (PAL ou NTSC)\n";
document.getElementById('syst').style.backgroundColor = "#F3C200";
}
if (msg == "")
return(true);
else
{
alert(msg);
return(false);
}
}
</script>
<body>
<form id="formInsert" name="formInsert" method="post" action="reg.php"onSubmit="return check();" >
<input type="hidden" name="envoie" value="1" />
<div id="formListDeroul">
<label>
<select name="listDerou" size="1" id="select" >
<option value="select" onclick="selectionner()">------Selectionner------</option>
<option value="auto" id="auto" onclick="auto()" >Auto</option>
<option value="manuel" onclick="manuel()">Manuel</option>
</select>
</label>
</div>
<br />
<div id="formSelectAuto" style="display:none">
Permanent <input type="radio" id="selectAuto" name="selectAuto" value="permanent" class="OPTION" onKeyUp="javascript:couleur(this);" />
<br>
Temporaire <input type="radio" id="selectAuto" name="selectAuto" value="temporaire" class="OPTION"onKeyUp="javascript:couleur(this);" />
<input name="adrauto" type="text" id="adrAuto" value="<?php
include("connect.php");
$ip = "224.0.1.0";
if(Connecter())
{
$MonSQL= "SELECT * FROM information ORDER BY Multicast";
$CurseurMulticast = mysql_query($MonSQL);
$UnMulticast = GetLigne($CurseurMulticast);
while($UnMulticast)
{
$suivante = long2ip(ip2long($ip)+1);
if($UnMulticast["Multicast"]==$ip)
{
$ip=$suivante;
}
$UnMulticast = GetLigne($CurseurMulticast);
}
echo $ip;
//return $ip;
}?>" size="30" onKeyUp="javascript:couleur(this);" />
<br />
</div>
<div id="formSelectMan" style="display:none">
<input name="adrman" type="text" id="adrMan" value="Entrez l'adresse" size="15" onKeyUp="javascript:couleur(this);"/>
<input name="vue" type="button" value="Vérifier" onclick="verif()" />
</div>
<br />
<label> Port <input name="port" type="text" id="port" value="" size="8" onKeyUp="javascript:couleur(this);"/> </label>
<p>
<LABEL>Type : </LABEL>
MPTS <input type="radio" id="type" name="type" value="mpts" class="OPTION" onClick="javascript:MPTS()" onKeyUp="javascript:couleur(this);"/>
SPTS <input type="radio" id="type" name="type" value="spts" class="OPTION" onClick="javascript:SPTS()" onKeyUp="javascript:couleur(this);">
<div id="formulaireReference">
<br><label> Chaine <input type="text" id="chaine" name="chaine0" size="20" id="chaine"onKeyUp="javascript:couleur(this);"/> </label>
<br />
<LABEL>Codage : </LABEL>
MPG4 <input type="radio" id="codage" name="codage0" value="mpg4" class="OPTION" onKeyUp="javascript:couleur(this);"/>
MPEG2 <input type="radio" id="codage" name="codage0" value="mpeg2" class="OPTION"onKeyUp="javascript:couleur(this);" >
<br />
<LABEL>Définition : </LABEL>
SD <input type="radio" id="def" name="def0" value="SD" class="OPTION" onKeyUp="javascript:couleur(this);"/>
HD <input type="radio" id="def" name="def0" value="HD" class="OPTION" onKeyUp="javascript:couleur(this);">
<br />
<LABEL>Systeme : </LABEL>
PAL <input type="radio" id="syst" name="syst0" value="PAL" class="OPTION" onKeyUp="javascript:couleur(this);"/>
NTSC <input type="radio" id="syst" name="syst0" value="NTSC" class="OPTION"onKeyUp="javascript:couleur(this);" >
<br>
</div>
<div id="formulaires"></div>
<p>
<input type="button" id="ajt0" name="ajout0" value="ajouter" style="display:none" onclick="javascript:add()" >
</form>
<p>
<input type="submit" id="Soumettre" name="Soumettre" value="Soumettre" />
et comment ajouter les couleurs au bouton radio vide? comme pour chaine ou port avec la fonction couleur(obj)...
Merci d'avance pour vos futurs réponses!!!
A voir également:
- Tester les champs vides
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester les performances de son pc - Guide
- Comment supprimer les pages vides sur word - Guide
- Tester composant pc - Guide
- Tester compatibilité windows 11 - Guide
7 réponses
Si tous mes champs ont le même id, alors pourquoi le controle de saisi, de champs vide, ne s'effectue t-il pas sur les nouveaux formulaires??????,
Salut !
A faire dans l'ordre :
- Supprimer le onSubmit du body
- Changer le bouton "Soumettre" de type submit en type button
- Ajouter l'attribut onClick="check()" sur le bouton "Soumettre"
- Supprimer le [i] dans la fonction javascript lorsque tu testes "Type"
- Tu modifies la fin de ta fonction jacvascript comme suit :
A faire dans l'ordre :
- Supprimer le onSubmit du body
- Changer le bouton "Soumettre" de type submit en type button
- Ajouter l'attribut onClick="check()" sur le bouton "Soumettre"
- Supprimer le [i] dans la fonction javascript lorsque tu testes "Type"
- Tu modifies la fin de ta fonction jacvascript comme suit :
if (msg == "")
document.form.submit();
else
alert(msg);Normalement ça devrait marcher ;-)
HEY HEY?
Merci pour ta réponse, c'est exactement ce que je voulais, ceci dit le soucis du bouton radio se pose toujours, le formulaire n'est valide que lorsque je selectionne le premier choix!!!!
j'avais trouvé un truc comme quoi il fallait mettre un indice, mais je n'ai pas réussi à "comprendre son fonctionnement" d'où l'essai avec le [i]...
et comment mettre la couleur sur les boutons radios lorsqu'ils sont vides?
Merci pour ta réponse, c'est exactement ce que je voulais, ceci dit le soucis du bouton radio se pose toujours, le formulaire n'est valide que lorsque je selectionne le premier choix!!!!
j'avais trouvé un truc comme quoi il fallait mettre un indice, mais je n'ai pas réussi à "comprendre son fonctionnement" d'où l'essai avec le [i]...
et comment mettre la couleur sur les boutons radios lorsqu'ils sont vides?
Voilà le test à faire pour tes radios boutons : (Exemple pour le type)
if (!document.formInsert.elements['type'][0].checked && !document.formInsert.elements['type'][1].checked)Je regarde pour la couleur ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci merci!!!!!!!!!!!!
j'arrive bien à selectionner un choix ou un autre!!!!
mais j'ai pas tout dis.....
Comme tu as pu le voir, j'ai :
et ma fonction add() correspond à :
Soit à la création ou suppression d'un ou plusieurs autre formulaires, je pensais qu'en donnant le même id ça marcherait quand même, mais il se trouve que check() n'agit pas sur les nouveaux formulaires.
Comment ça se fait et comment faire?
j'arrive bien à selectionner un choix ou un autre!!!!
mais j'ai pas tout dis.....
Comme tu as pu le voir, j'ai :
<input type="button" id="ajt0" name="ajout0" value="ajouter" style="display:none" onclick="javascript:add()" >
et ma fonction add() correspond à :
var numForm = 1;
var contentDivName = "formulaires";
function add()
{
/* Retrieve fieldSet from the page */
var conteneur = document.getElementById(contentDivName);
/* Create elements that we need into the new form to add */
var undiv = document.createElement('div');
var nbNumForm = document.createElement('input');
var leNumForm = document.createElement('input');
var MaChaine = document.createTextNode("Chaine : ");
var chaine = document.createElement('input');
var MonCodage = document.createTextNode("Codage : ");
var MonMpg4 = document.createTextNode("MPG4 ");
var mpg4 = document.createElement('input');
var MonMpeg2 = document.createTextNode("MPEG2 ");
var mpeg2 = document.createElement('input');
...
var but = document.createElement('input');
nbNumForm.type = 'hidden';
nbNumForm.name = 'dernierNumForm';
nbNumForm.value = numForm;
leNumForm.type = 'hidden';
leNumForm.name = numForm;
chaine.type = 'text';
chaine.name = 'chaine'+numForm;
chaine.id = 'chaine';
mpg4.type = 'radio';
mpg4.name = 'codage'+numForm;
mpg4.value = 'mpg4';
mpg4.id = 'codage';
mpeg2.type = 'radio';
mpeg2.name = 'codage'+numForm;
mpeg2.value = 'mpeg2';
mpeg2.id = 'codage';
...
but.type = 'button';
but.value = 'Supprimer le formulaire';
// Implement delete function on the button
but.onclick = function()
{
// Element to remove
lediv = this.parentNode;
// Element parent
lefieldset = lediv.parentNode;
// Remove the element
lefieldset.removeChild(lediv);
}
/* Append elements (new form) into the page */
undiv.appendChild( document.createElement('br') );
undiv.appendChild(nbNumForm);
undiv.appendChild(leNumForm);
undiv.appendChild(MaChaine);
undiv.appendChild(chaine);
undiv.appendChild( document.createElement('br') );
undiv.appendChild(MonCodage);
undiv.appendChild(MonMpg4);
undiv.appendChild(mpg4);
undiv.appendChild(MonMpeg2);
undiv.appendChild(mpeg2);
undiv.appendChild( document.createElement('br') );
...
undiv.appendChild(but);
conteneur.appendChild(undiv);
numForm++;
}
Soit à la création ou suppression d'un ou plusieurs autre formulaires, je pensais qu'en donnant le même id ça marcherait quand même, mais il se trouve que check() n'agit pas sur les nouveaux formulaires.
Comment ça se fait et comment faire?