voici à quoi ressemble le tableau HTML
= : combobox (travaillé, ferié, congé, ...)
-- : input texte
Lors d'un clic sur le premier combo, j'utilise cette fonction qui permet de remplir les cases du premier jour :
function choixtype(mode){ // mode = choix selectionne dans le combo
switch (mode) {
case 0:
// remplir la première case de la première ligne document.f1.heurearj1AM.value ""; document.f1.minarj1AM.value "";
// remplir la première case de la deuxième ligne document.f1.heuredepj1AM.value ""; document.f1.mindepj1AM.value "";
// remplir la troisième case de la première ligne document.f1.heuretotj1AM.value ""; document.f1.mintotj1AM.value "";
// remplir la quatrième case de la première ligne document.f1.heurearj1PM.value ""; document.f1.minarj1PM.value "";
// remplir la cinquième case de la première ligne document.f1.heuredepj1PM.value ""; document.f1.mindepj1PM.value "";
.... // ainsi de suite pour chaque champ
case 1: document.f1.heurearj1AM.value "08"; document.f1.minarj1AM.value "30"; document.f1.heuredepj1AM.value "12"; document.f1.mindepj1AM.value "30"; document.f1.heuretotj1AM.value "04"; document.f1.mintotj1AM.value "00";
document.f1.heurearj1PM.value "13"; document.f1.minarj1PM.value "30"; document.f1.heuredepj1PM.value "17"; document.f1.mindepj1PM.value "00";
.... // ainsi de suite pour chaque champ
break;
}
}
Mon problème est le suivant :
Chacun des combos correspond a une colonne, or, j'imagine qu'il est possible de ne faire qu'une fonction permettant de remplir les bonnes colonnes. Sinon, il va falloir créé autant de fonction que de combo et j'ai pas vraiment envie de faire des centaines de ligne de copier/coller !
Au départ je pensai concaténé le numéro du jour :
document.f1.heurearj+numjour+AM.value
Malheureusement cette idée ne fonctionne pas..
D'avance merci pour toute vos idées.
PS : Je vous prie d'excuser l'impersonnalité de ce post le problème est difficile a expliquer :)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 22 sept. 2007 à 12:38
on gérerait : getElementById("C_"+Ligne+"_"+ Colonne)
et pour le name : document.name_du_formulaire.nom_cellule[(n° ligne*nbr Colonnes)*n° colonne]
<hr />
rastasponch
Messages postés27Date d'inscriptionjeudi 12 août 2004StatutMembreDernière intervention19 décembre 2009 22 sept. 2007 à 21:24
C'est du HTML + JavaScript, ibtissam33
Je te remercie bultez apparement la solution a mon problème se trouve bien dans ton deuxième exemple. Pour dire vrai je n'ai pas encore détaillé le code et donc testé de l'adaptater. Cela dis je pense pouvoir m'en sortir avec, j'y retourne dès que j'ai un peu plus de temps. Merci encore, je vous tiendrez au courant.
rastasponch
Messages postés27Date d'inscriptionjeudi 12 août 2004StatutMembreDernière intervention19 décembre 2009 23 sept. 2007 à 23:24
Et bien en fait c'était bien plus simple que ça en avait l'air :)
Le mot magique était : getElementById("") qui permet d'incruster une variable dans le nom.
Ci dessous je colle mon code test qui m'a permis de bien comprendre le principe de fonctionnement. Il ne me reste plus qu'a ajouter tous ces "id" dans mon formulaire, faire les calculs etc...
je vais pouvoir enfin avancer, merci encore
Code :
<html>
<head>
<title>TEST</title>
<script>
function choixtype(mode, numjour){
switch (mode) {
case 0:
document.getElementById("h1j"+numjour).value = "";
document.getElementById("h2j"+numjour).value = "";