cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009
-
19 juil. 2002 à 11:23
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009
-
23 juil. 2002 à 13:20
Bonjour, j'ai un formulaire, dont les champs Dynamique tel que les champs nécessaires sont dans une base de données.
Lors de l'affichage de la page, je boucle en asp., tant qu'il y a des champs à afficher, et suivant le type de champ, je les affiche tel que :
i étant un compteur,
les champs se nomment:
nom des champs = CH<%=i%>
Mon problème réside à faire un Javascript me permettant de contrôler que les champs ne sont pas vides !
Une chose importante à préciser est que le nombre de champs n'est pas limité, il peut y en avoir 0 comme 50 !!
J’ai bien une solution provisoire, c'est de faire le contrôle en asp. à la page postée, mais ce n'est pas propre, je préférerais ne pas poster, avec une alerte, si l'un des champs est vide !
Merci d'avance si vous pouvez m'aider car la, je pet un câble !!!!!!!!!
cs_jeca
Messages postés341Date d'inscriptionmercredi 17 juillet 2002StatutMembreDernière intervention14 juillet 201114 19 juil. 2002 à 16:29
bonjour,
Je suis pressé.
Si tu l'es toi aussi, tu peux visiter les 2 sites suivants qui sont très bien faits :
http://selfhtml.com.fr en français avec une doc à télécharger, et
http://webreference.com en Anglais.
J'essaierai de t'envoyer un exemple un peu plus tard. Mais tu devrais trouver ton bonheur ci-dessus.
cs_vladam
Messages postés216Date d'inscriptiondimanche 13 janvier 2002StatutModérateurDernière intervention 7 novembre 2009 19 juil. 2002 à 16:36
Bonjour,
Je n'ai toujours pas trouvé la solution a mon problème, par contre, je conviens que les deux sites que tu m'as donné sont plutot sympathiques, et regorgeant d'information.
Si tu trouve un moment pour m'envoyer un exemple de Script pour me sortir de mon problème, cela serait vraiment très sympa :=)
cs_jeca
Messages postés341Date d'inscriptionmercredi 17 juillet 2002StatutMembreDernière intervention14 juillet 201114 19 juil. 2002 à 19:40
Bonsoir,
Voilà un bout de code avec lequel tu pourras t'amuser.
Je ne suis pas une flèche du javascript, car je suis moi aussi en apprentissage.
Mais avec ça et les sites que je t'ai indiqués, tu dois pouvoir te débrouiller.
Le code pourrait-être plus concis, mais beaucoup moins lisible.
A part ça, la méthode utilisée pour le nommage des controles ne me semble pas être la bonne ;
et tu comprendras illico pourquoi lorsque tu fera
fonctionner le formulaire. Tu aurais pu attribuer les noms de champs de la table aux controles, puisqu'à aucun moment le code n'utilise ton principe
pour les retrouver.
A+
JC
PS - je t'ai répondu précédemment en vitesse parce que nous avons le même prénom, sinon je ne répondais pas car j'étais vraiment à la bourre.
La mise en page est à refaire avant tout.
//==========================================================================//à sauvegarder dans un fichier "essai_formulaire.htm" //==========================================================================
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>essai formulaire</title>
<script language="javascript">
<!--
function ValidForm(obj)
{
//------------------------------------------------------------------------
//--- tu peux ne pas passer de variable à la fonction et utiliser --------
//--- "document.ton_formulaire" partout ou il est fait référence à "obj" -
//------------------------------------------------------------------------
//------------------------------------------------------------------------
//--- la valeur maxi de l'indice à tester = longueur du tableau - 2 ------
//--- car le bouton est compris et le tableau commence à l'indice 0 ------
//--- commence à l'indice 0 ----------------------------------------------
//------------------------------------------------------------------------
var maxi = obj.length - 2;
for (var i=0;i<=maxi;i++)
{
champ = obj.elements[i];
//------------------------------------------------------------------------
//--- "elements" est un sous-objet de l'objet "forms" --------------------
//--- on récupère donc ici le nom du controle testé ----------------------
//--- j'utilise la propriété "id" parce que j'utilise l'attribut "id" ----
//--- dans les controles mais je ne suis pas sûr que cela fonctionne -----
//--- avec toutes les versions des navigateurs. --------------------------
//--- Dans ce cas, utilise "name" ----------------------------------------
//------------------------------------------------------------------------
nom = champ.id;
valeur = champ.value;
if (valeur == "")
{
alert("le champ "+nom+" doit-être renseigné");
//------------------------------------------------------------------------
//--- ici, sortie de la boucle et on remet le curseur dans ---------------
//--- le controle "incriminé" --------------------------------------------
//------------------------------------------------------------------------
champ.focus();
return false;
}
}
//------------------------------------------------------------------------
//--- la soumission du formulaire ne se fait que si on sort --------------
//--- de la boucle par le bas à savoir que l'appel de la fonction --------
//--- reçoit "true" ------------------------------------------------------
//------------------------------------------------------------------------
return true;
}
//-->
</script>
</head>