Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ajouter du code HTML

2 réponses
Avatar
LR
Salut,

J'ai un formulaire qui permet d'enregistrer une "fiche boulot". Des champs
permettent d'entrer des informations sur le client, le tarif etc et des
champs permettent d'entrer des jours de travail .

Par défaut j'affiche un jour mais il faut que l'utilisateur puisse ajouter
des jours.

Ma première stratégie a été de placer dans la page le code HTML pour 4
jours. L'utilisateur dispose d'un lien "ajouter un jour". Mis à part le
premier jour, tous les jours sont masqués avec "style = display:'none'".
Dans mon script, je fais doc.getElementById( "day" +n ).display = "" où "n"
est le paramètre de ma fonction permettant d'afficher le bon jour.

Mon problème, c'est qu'il peut arriver qu'un boulot s'étale sur une grande
période et alors il faudrait que je mette dans ma page le code html pour 30
ou 100 ou 200 jours que sais-je et ça ne me plaît pas.

Alors j'aimerais que par défaut ma page ne contienne que le code pour 1 jour
et, pour les suivants, que le code soit ajouté lorsque l'utilisateur clique
sur "ajouter un jour".

Je n'ai pas envie de faire ça coté serveur car il s'agit d'un problème
d'ergonomie qui ne concerne pas la logique business. Est-ce possible de
faire ça en javascript ?

Merci d'avance pour vos conseils.
Lilian

2 réponses

Avatar
ASM

Salut,

J'ai un formulaire qui permet d'enregistrer une "fiche boulot". Des champs
permettent d'entrer des informations sur le client, le tarif etc et des
champs permettent d'entrer des jours de travail .

Par défaut j'affiche un jour mais il faut que l'utilisateur puisse ajouter
des jours.


Oui ? et il ne peut cliquer sur le bouton [Ajouter un Jour]
qui modifie le champ du nombre de jours ?

Je ne comprends pas où est le pb,
sauf si le tarif change suivant le jour de la semaine ... !

| client | affaire | Nbre Jours | Tarif Jour | Total |
|--------|---------|------------|------------|------------|
| Durant | 05.02.01| 300 | 457,35 | 137 205,00 |


Alors j'aimerais que par défaut ma page ne contienne que le code pour 1 jour
et, pour les suivants, que le code soit ajouté lorsque l'utilisateur clique
sur "ajouter un jour".


Voir les histoires de cloneNode()
Le principe :
- avoir le necessaire (dans un div, un table ...) pour 1 jour
- ce necessaire est styllé en hidden
- à chaque ajout de jour le nessaire est cloné et affiché
on peut le faire autant de fois qu'on veut jusqu'à saturation du processeur.
- on peut aussi sofistiquer la chose en proposant en plus
d'effacer le dernier jour, ou, plus compliqué : 1 des jours

Je n'ai pas envie de faire ça coté serveur car il s'agit d'un problème
d'ergonomie qui ne concerne pas la logique business. Est-ce possible de
faire ça en javascript ?


Oui si tu admets qu'il n'y ait aucun enregistrement
de sécurité à chaque modif du formulaire.

http://fr.selfhtml.org/javascript/objets/node.htm

Comment, ensuite, tu relies les 1, 2, 3, ... 300 jours au php ? mystère!


--
*******************************************************
Stéphane MORIAUX et son vieux Mac
Aide Pages Perso (images & couleurs, formulaire, CHP)
http://perso.wanadoo.fr/stephane.moriaux/internet/
*******************************************************

Avatar
LR
Merci pour ta réponse,

Oui ? et il ne peut cliquer sur le bouton [Ajouter un Jour]
qui modifie le champ du nombre de jours ?


Il n'y a pas de champs pour le nombre de jours, l'utilisateur doit pouvoir
cliquer sur "ajouter un jour" pour qu'apparaissent les champs nécessaires
pour sa saisie des données du jour supplémentaire.

Je ne comprends pas où est le pb,
sauf si le tarif change suivant le jour de la semaine ... !

| client | affaire | Nbre Jours | Tarif Jour | Total |
|--------|---------|------------|------------|------------|
| Durant | 05.02.01| 300 | 457,35 | 137 205,00 |


non, pas de problème de ce coté là.

Alors j'aimerais que par défaut ma page ne contienne que le code pour 1
jour
et, pour les suivants, que le code soit ajouté lorsque l'utilisateur
clique
sur "ajouter un jour".


Voir les histoires de cloneNode()
Le principe :
- avoir le necessaire (dans un div, un table ...) pour 1 jour
- ce necessaire est styllé en hidden
- à chaque ajout de jour le nessaire est cloné et affiché
on peut le faire autant de fois qu'on veut jusqu'à saturation du
processeur.
- on peut aussi sofistiquer la chose en proposant en plus
d'effacer le dernier jour, ou, plus compliqué : 1 des jours

Je n'ai pas envie de faire ça coté serveur car il s'agit d'un problème
d'ergonomie qui ne concerne pas la logique business. Est-ce possible de
faire ça en javascript ?


Oui si tu admets qu'il n'y ait aucun enregistrement
de sécurité à chaque modif du formulaire.

http://fr.selfhtml.org/javascript/objets/node.htm

Comment, ensuite, tu relies les 1, 2, 3, ... 300 jours au php ? mystère!


Les données d'un jour sont les suivantes :
-champs texte appelé "jobDayDate" contenant la date du jour en question.
-champs texte appelé "jobDayHours" contenant le nombre d'heures de travail
du jour en question.

En réalité je développe en J2EE mais en php c'est pareil : lorsque le
formulaire est posté je reçois un tableau contenant les 1, 2, 3, ... 300
valeurs des champs "jobDayDate" du formulaire et un autre tableau contenant
les 1, 2, 3, ... 300 valeurs des champs "jobDayHours" du formulaire.

Voilà pour les précisions, maintenant je vais me pencher sur ta proposition
qui va surement me permettre de régler mon problème.

Merci pour ton aide
A+Lilian