Forum de discussion
Forum « Programmation Javascript » (archives)
Re: récupérer la valeur d'un bouton radio (radio button) seulement s'il est coché
Envoyé: 21 septembre 2005, 7h57 par Oznog
Tu ne peux pas simplement transférer la valeur d'un bouton radio (radio button). Tout comme la validation (voir twValide), il faut manuellement valider avant si le bouton a bel et bien été cochée.
// Si l'élément est de type "Radio button"
if (document.oForm1.monBoutonRadio.checked) {
// Le bouton est coché.
document.oForm2.monBoutonRadio.value = document.oForm1.monBoutonRadio.value;
}
Voilà une fonction que je me suis fait pour transférer un formulaire au complet.
Il suffit de lui passer le nom du formulaire de départ et du formulaire de fin. ET D'AVOIR LES MÊME NOM (name) DE CHAMP DANS LES DEUX FORMULAIRE. Outre éviter le transfert des boutons, elle transfert les boîtes à cocher (checkbox) et les bouton radio. Elle valide aussi les champs du formulaire de fin. Alors si tu oublie une champ caché dans le formulaire de fin, ça ne bogue pas et il est simplement pas passé.
<script type="text/javascript" language="javascript">
<!--
// Auteur : Django (Oznog) Blais
// Script gratuit des Trucsweb.com
// Veuillez laisser cette remarque s.v.p.
function twTransfertForm(_idTransfert,_idRetour) {
var sTexteTemp = '';
var oForm1 = document.forms[_idTransfert];
var oForm2 = document.forms[_idRetour];
for (var i=0; i<oForm1.elements.length; i++) {
if (oForm1.elements[i].type != 'submit' && oForm1.elements[i].type != 'reset' && oForm1.elements[i].type != 'button') {
for (var j=0; j<oForm2.elements.length; j++) {
if (oForm2.elements[j].name==oForm1.elements[i].name) {
if (oForm1.elements[i].type == 'checkbox') {
if (oForm1.elements[i].checked) {
oForm2.elements[j].value = oForm1.elements[i].value;
} else {
oForm2.elements[j].value = '';
}
} else if (oForm1.elements[i].type == 'radio') {
if (oForm1.elements[i].checked) {
oForm2.elements[j].value = oForm1.elements[i].value;
} else {
oForm2.elements[j].value = '';
}
} else {
oForm2.elements[j].value = oForm1.elements[i].value;
}
}
}
}
}
}
Ciao
Oznog
Réponses
|