Page 1 sur 1
Utiliser JAVASCRIPT avec un tableau PHP
Posté : 13 sept. 2007, 12:44
par cpnadal
Bonjour, je souhaite afficher une liste de case a cocher couplée avec un champ texte. Leur nom sont caseacocher[] et champttexte[] afin de pouvoir traiter les réponses dans un tableau par la suite.
Je voudrais créer une fonction en javascript qui, lorsque le modifie le champtexte, la case a cocher correspondante se coche et lorsqu'on coche/decoche une caseacocher, le champtexte correspondant se mette à 0.
J'ai beau chercher, j'arrive pas à trouver les bons mots clés pour faire cette recherche.
Avez-vous une idée?
Merci.
Posté : 13 sept. 2007, 12:52
par Calimero
Onblur, onclick, onchange ...

Posté : 13 sept. 2007, 12:54
par cpnadal
oui certes mais pour que l'action du onclick s'applique à la bonne case, comment faire?
Posté : 13 sept. 2007, 13:03
par Calimero
Un moyen d'y arriver est d'affecter un id distinct pour chaque contrôle que tu vas vouloir manipuler en javascript, par exemple :
$id=12345; // Un id numérique qui vient par exemple de ta base de données, car je suppose que tes champs sont générés dans une boucle
echo '<input type="text" name="monchamp[]" id="monchamp_'.$id.'" value="...." onblur="MaFonctionOnBlur('.$id.')" />';
Même principe pour tes checkboxes. Ensuite tu passes ce paramètre numérique à la fonction javascript qui peut alors retrouver les éléments HTML et les manipuler via
Code : Tout sélectionner
<script>
var lechamptexte=document.getElementById('monchamp_12345'); // on accède au champ texte grâce à son id
lechamptexte.style.backgroundColor='Red'; // Pour cet exemple on va mettre son fond en rouge
</script>
Par exemple.
Posté : 13 sept. 2007, 13:47
par cpnadal
Génial, voici mon code JAVASCRIPT
Code : Tout sélectionner
<script>
function fonctiononchange(case_id) {
var lechamptexte=document.getElementById('equipe_id_'+case_id);
lechamptexte.checked=true;
}
function fonctiononclick(case_id) {
var lechamptexte=document.getElementById('equipe_nb_inscription_'+case_id);
var checkbox=document.getElementById('equipe_id_'+case_id);
if(checkbox.checked==true) {
lechamptexte.value=1;
} else {
lechamptexte.value=0;
}
}
</script>
et la checkbox ainsi que le champ texte
Code : Tout sélectionner
<input name="equipe_id[]" type="checkbox" value="{inscription_row.EQUIPE_ID}" id="equipe_id_{inscription_row.EQUIPE_ID}" {inscription_row.EQUIPE_INSCRIPTION_STATUT} onclick="fonctiononclick('{inscription_row.EQUIPE_ID}')">
<input name="equipe_nb_inscription[]" id="equipe_nb_inscription_{inscription_row.EQUIPE_ID}" value="{inscription_row.EQUIPE_NB_INSCRIPTION}" class="post" type="text" size="1" onChange="fonctiononchange('{inscription_row.EQUIPE_ID}')">
Merci beaucoup