Formulaire oui, mais dynamique !

cs_vladam Messages postés 216 Date d'inscription dimanche 13 janvier 2002 Statut Modérateur Dernière intervention 7 novembre 2009 - 19 juil. 2002 à 11:23
cs_vladam Messages postés 216 Date d'inscription dimanche 13 janvier 2002 Statut Modérateur Derniè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 !!!!!!!!!

Jérôme ...

5 réponses

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

Cordialement.

jc
0
cs_vladam Messages postés 216 Date d'inscription dimanche 13 janvier 2002 Statut Modérateur Derniè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 :=)

D'avance Merci

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

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

CH1,
,

----

CH2,
,

----

CH3,
,

----

CH4,
,

----

CH5,
,

----

,

</form>


</html>
//==========================================================================
0
cs_vladam Messages postés 216 Date d'inscription dimanche 13 janvier 2002 Statut Modérateur Dernière intervention 7 novembre 2009
22 juil. 2002 à 11:20
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 ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_vladam Messages postés 216 Date d'inscription dimanche 13 janvier 2002 Statut Modérateur Dernière intervention 7 novembre 2009
23 juil. 2002 à 13:20
Et bien voila, c'est bon, ça fonctionne :) :) :)

Un grand, grand merci Jeca :)

Jérôme ...
0
Rejoignez-nous