OVH Cloud OVH Cloud

Besoin d'aide

3 réponses
Avatar
Gérard
Bonsoir,

voila j'ai un problème sur lequel je bute depuis un moment, malgré de nombreuses tentatives, je ne trouve pas.

J'ai une fonction JS qui génère un formulaire et qui passe les données du formulaire à une
autre fonction, le formulaire se génère correctement, les éléments du formulaire sont tous récupérés à l'exception du
champ de type radio.

La fontion qui génère le formulaire :

function SaisieComment(num_seq) {
var code_genere;
// alert("ici saisiecomment, num seq = " + num_seq);
code_genere = "<div style=\"width:500px;height:300px;background-color:beige;padding:5px;margin:5px;border-style:solid;border-width:thin\">";
code_genere += "<form name=\"commentaire\" id=\"commentaire\" method=\"get\" action=\"javascript:insertComments(" + num_seq + ")\" onsubmit=\"return checkSaisieCom();\" \/>";
code_genere += "<span style=\"float:left;text-align:right;width:150px;line-height:21px;font-weight:bold\"> <?php echo "$lib_pseudo : "; ?> </span>";
code_genere += "<input type=\"text\" id=\"pseudo\" name=\"pseudo\" value=\"\" size=\"42\" class=\"box_saisie\" onfocus=\"this.className='focus_2'\" onblur=\"this.className='normal_2'\" \/><br \/>";
code_genere += "<span style=\"float:left;text-align:right;width:150px;line-height:21px;font-weight:bold\"> e-mail : </span>";
code_genere += "<input type=\"text\" name=\"email\" value=\"\" size=\"42\" class=\"box_saisie\" onfocus=\"this.className='focus_2'\" onblur=\"this.className='normal_2'\" \/><br \/>";
code_genere += "<span style=\"float:left;text-align:right;width:150px;line-height:21px;font-weight:bold\"> http : </span>";
code_genere += "<input type=\"text\" name=\"url_site\" value=\"\" size=\"42\" class=\"box_saisie\" onfocus=\"this.className='focus_2'\" onblur=\"this.className='normal_2'\" \/><br \/>";
code_genere += "<span style=\"float:left;text-align:right;width:150px;line-height:21px;font-weight:bold\"> <?php echo "$lib_comments : "; ?> </span>";
code_genere += "<textarea name=\"comment\" rows=\"10\" cols=\"36\" style=\"font-weight:bold;margin-top:0;float:right\" onfocus=\"this.className='focus_2'\" onblur=\"this.className='normal_2'\" \/></textarea><br \/>";

code_genere += "<div style=\"position:absolute;top:260px;left:50px\"><span style=\"text-align:right;width:100px;font-weight:bold\"> Note : </span>";
code_genere += "<input type=\"radio\" name=\"noterss\" value=\"0\"> 0 ";
code_genere += "<input type=\"radio\" name=\"noterss\" value=\"1\"> 1 ";
code_genere += "<input type=\"radio\" name=\"noterss\" value=\"2\"> 2 ";
code_genere += "<input type=\"radio\" name=\"noterss\" value=\"3\"> 3 ";
code_genere += "<input type=\"radio\" name=\"noterss\" value=\"4\"> 4 ";
code_genere += "<input type=\"radio\" name=\"noterss\" value=\"5\" checked> 5 ";
code_genere += "<input type=\"radio\" name=\"noterss\" value=\"6\"> 6 ";
code_genere += "<input type=\"radio\" name=\"noterss\" value=\"7\"> 7 ";
code_genere += "<input type=\"radio\" name=\"noterss\" value=\"8\"> 8 ";
code_genere += "<input type=\"radio\" name=\"noterss\" value=\"9\"> 9 ";
code_genere += "<input type=\"radio\" name=\"noterss\" value=\"10\"> 10 </div>";

code_genere += "<input type = \"submit\" VALUE=\"Submit\" style=\"position:absolute;bottom:10px;text-align:center\">";

code_genere += "</form>";

code_genere += "</div>";

document.getElementById("id_aff_box").innerHTML = code_genere;

}

La fonction qui récupère les données du formulaire (la variable noterss reste undefined :(((( ) :

function insertComments (num_seq) {
var pseudo = document.commentaire.pseudo.value;
var email = document.commentaire.email.value;
var url_site = document.commentaire.url_site.value;
var comment = document.commentaire.comment.value;
var noterss = document.commentaire.noterss.value;

alert("Ici insertComments, pseudo = " + pseudo + " email = " + email + " site = " + url_site + " comment = " + comment + " num_seq = " + num_seq + " note = " + noterss);

var lang = "<?php echo $lang; ?>";
var url = "ajax_rss_comm.php?id=" + num_seq + "&lang=" + lang + "&pseudo=" + pseudo + "&email=" + email + "&url=" + url_site + "&comment=" + comment + "&note=" + noterss;
http.open("GET", url, true);
http.onreadystatechange = handleHttpResponseInsCom;
http.send(null);

document.getElementById("id_aff_box").innerHTML = "";
}

Voila, si qq1 a une idée, moi je sèche lamentablement.

@++

GG

--
---------------------------------------------------------------
http://gerardgrandjean.net
http://gerardgrandjean.net/menu_voyages.php3 Voyages
http://gerardgrandjean.net/page_liens.php3 Liens
http://gerardgrandjean.net/actu.php3 Revue de presse
http://gerardgrandjean.net/menu_rss.php Annuaire RSS

3 réponses

Avatar
O.L.
Gérard a exposé le 22/10/2005 :
Bonsoir,

voila j'ai un problème sur lequel je bute depuis un moment, malgré de
nombreuses tentatives, je ne trouve pas.

J'ai une fonction JS qui génère un formulaire et qui passe les données du
formulaire à une
autre fonction, le formulaire se génère correctement, les éléments du
formulaire sont tous récupérés à l'exception du
champ de type radio.
[...]
code_genere += "<input type="radio" name="noterss" value="0"> 0 ";
[...]
code_genere += "<input type="radio" name="noterss" value="10"> 10


Les champs radio ne se laissent pas aussi facilement utiliser que les
autres.
Essaye de récupérer la valeur comme ça (on regarde pour chaque bouton
radio s'il est coché, et donc si c'est sa valeur qui est sélectionnée)
:

elements = document.getElementsByName('noterss');
for(i=0; i<; i++)
if(elements[i].checked) {var noterss = elements[i].value; break;}


Voila, si qq1 a une idée, moi je sèche lamentablement.

@++

GG


@+
Olivier

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net

Avatar
Gérard
Gérard a exposé le 22/10/2005 :

Bonsoir,

voila j'ai un problème sur lequel je bute depuis un moment, malgré de
nombreuses tentatives, je ne trouve pas.

J'ai une fonction JS qui génère un formulaire et qui passe les données
du formulaire à une
autre fonction, le formulaire se génère correctement, les éléments du
formulaire sont tous récupérés à l'exception du
champ de type radio.
[...]
code_genere += "<input type="radio" name="noterss"
value="0"> 0 ";
[...]
code_genere += "<input type="radio" name="noterss"
value="10"> 10



Les champs radio ne se laissent pas aussi facilement utiliser que les
autres.
Essaye de récupérer la valeur comme ça (on regarde pour chaque bouton
radio s'il est coché, et donc si c'est sa valeur qui est sélectionnée) :

elements = document.getElementsByName('noterss');
for(i=0; i<; i++)
if(elements[i].checked) {var noterss = elements[i].value; break;}


Voila, si qq1 a une idée, moi je sèche lamentablement.

@++

GG



@+
Olivier



Merci de ton aide Olivier, effectivement ça marche. Je suppose
que la même technique doit être utilisée pour les
cases à cocher.
Je débute en JS et n'avais pas vu ce point dans la doc.

Bon dimanche,

@++

GG

--
---------------------------------------------------------------
http://gerardgrandjean.net
http://gerardgrandjean.net/menu_voyages.php3 Voyages
http://gerardgrandjean.net/page_liens.php3 Liens
http://gerardgrandjean.net/actu.php3 Revue de presse
http://gerardgrandjean.net/menu_rss.php Annuaire RSS


Avatar
O.L.
Gérard a exposé le 22/10/2005 :

Bonsoir,

voila j'ai un problème sur lequel je bute depuis un moment, malgré de
nombreuses tentatives, je ne trouve pas.

J'ai une fonction JS qui génère un formulaire et qui passe les données du
formulaire à une
autre fonction, le formulaire se génère correctement, les éléments du
formulaire sont tous récupérés à l'exception du
champ de type radio.
[...]
code_genere += "<input type="radio" name="noterss" value="0"> 0
";
[...]
code_genere += "<input type="radio" name="noterss" value="10">
10



Les champs radio ne se laissent pas aussi facilement utiliser que les
autres.
Essaye de récupérer la valeur comme ça (on regarde pour chaque bouton radio
s'il est coché, et donc si c'est sa valeur qui est sélectionnée) :

elements = document.getElementsByName('noterss');
for(i=0; i<; i++)
if(elements[i].checked) {var noterss = elements[i].value; break;}


Voila, si qq1 a une idée, moi je sèche lamentablement.

@++

GG



@+
Olivier



Merci de ton aide Olivier, effectivement ça marche. Je suppose
que la même technique doit être utilisée pour les
cases à cocher.


Pas tout à fait la même, puisque ce sont deux types d'éléments
différents, et qu'une case à cocher (=> un "name" unique) peut prendre
deux valeurs (coché / non coché). Alors que dans le cas de plusieurs
boutons radios avec le même name, un seul de ces boutons peut être
coché.

Je débute en JS et n'avais pas vu ce point dans la doc.

Bon dimanche,

@++

GG


@+

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net