Formulaire oui, mais dynamique !

Signaler
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009
-
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009
-
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 !!!!!!!!!

Jérôme ...

5 réponses

Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
14
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.

Cordialement.

jc
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009

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 :=)

D'avance Merci

Jérôme ...
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
14
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>

<form id=\"ton_formulaire\" name=\"ton_formulaire\" method=\"post\" action=\"essai_formulaire.htm\" onSubmit=\"return ValidForm(this);\">
----

CH1,
,

----

CH2,
,

----

CH3,
,

----

CH4,
,

----

CH5,
,

----

,

</form>


</html>
//==========================================================================
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009

Bonjour,

En effet, je vais pouvoir rétablir les noms de champs. Je te remercie de cette aide, avec ça, je vais m'en sortir :)

Encore merci, bonne journée

Jérôme ...
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009

Et bien voila, c'est bon, ça fonctionne :) :) :)

Un grand, grand merci Jeca :)

Jérôme ...