Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2011, 19h30   #1
Membre Expert
 
Avatar de Erwan31
 
Inscription : février 2008
Messages : 2 124
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 124
Points : 2 051
Points : 2 051
Par défaut vérification de bouton radio

Bonjour,
j'ai récupéré une fonction qui me permet de vérifier si un bouton radio a été coché ou pas sur cette page (bloc en savoir plus > revenus)
http://theesdesign.net/tests/defiscalisation.html

Mais ça ne fonctionne pas pour je ne sais quelle raison :/

Le code de la fonction :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
function checkRvn() {
  var rvn = document.form3.revenus;
  var nb     = rvn.length;
  for (i=0;i<nb;i++) {
    if (rvn[i].checked) {
      return true;
    }
  else {
  alert('Choisissez un revenu');
  return false;
  }
}
}
Une petite aide?
Erwan31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 20h01   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 757
Points : 4 757
Bonjour,
le code ayant l'air correct, à vue de nez je dirais que ta FORM n'a pas de NAME form3, essaies
Code :
var rvn = document.getElementById('form3').revenus;
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 20h32   #3
Membre Expert
 
Avatar de Erwan31
 
Inscription : février 2008
Messages : 2 124
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 124
Points : 2 051
Points : 2 051
Merci pour ta réponse, bien vu il avait l'id form3 mais pas le name mais ça ne résout pas le problème malheureusement :/
Erwan31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 20h57   #4
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Bonsoir
Code :
var rvn = document.getElementById("form3").elements["revenus"];
A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 21h07   #5
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 757
Points : 4 757
Citation:
Envoyé par andry.aime Voir le message
Bonsoir
Code :
var rvn = document.getElementById("form3").elements["revenus"];
A+.
bien vu, je me suis arrêté en route....
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 22h35   #6
Membre Expert
 
Avatar de Erwan31
 
Inscription : février 2008
Messages : 2 124
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 124
Points : 2 051
Points : 2 051
Merci mais ça ne fonctionne toujours pas.
J'ai donné le lien pour voir la page si voulez voir la totalité du code (car il y a une autre fonction JS) pour la vérification.
Erwan31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 22h39   #7
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 757
Points : 4 757
Citation:
Envoyé par Erwan31 Voir le message
Merci mais ça ne fonctionne toujours pas.
mais encore quel est le résultat obtenue par rapport à l'attendu
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 22h45   #8
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 757
Points : 4 757
je viens de regarder la source et ô surprise il y a déjà deux fonctions test_form() déclarées mais aucun appel à la fonction checkRvn()

tu peux faire ceci
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function checkRvn() {
  var rvn = document.getElementById("form3").elements["revenus"];
  var nb = rvn.length;
  for( i = 0; i < nb; i++) {
    if( rvn[i].checked) {
      return true;
    }
    else {
      //  alert('Choisissez un revenu');
      return false;
    }
  }
}
 
function test_form() {
  var texte_bad = "";
  monForm = document.getElementById("form3");
  if( monForm.nom.value == "") texte_bad = texte_bad + "Vous devez saisir votre nom\n";
  if( monForm.codepostal.value == "") texte_bad = texte_bad + "Vous devez saisir votre code postal\n";
  if( monForm.tel.value == "") texte_bad = texte_bad + "Vous devez saisir votre numéro de téléphone\n";
  if( monForm.email.value == "") texte_bad = texte_bad + "Vous devez saisir votre email\n";
  if( monForm.CG.checked == false) texte_bad = texte_bad + "Vous devez accepter les conditions générales pour pouvoir poursuivre.\n";
  if( !checkRvn()) texte_bad += "Vous devez choisir un revenu.\n";
 
  var regex = new RegExp(/^0[1-90](((\.[0-9]{2}){4})|((\-[0-9]{2}){4})|(([0-9]{2}){4})|(\ ([0-9]{2}){4}))$/gi);
 
  if( texte_bad == "") {
    return true;
  }
  else {
    alert(texte_bad);
    return false;
  }
}
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 08h26   #9
Membre Expert
 
Avatar de Erwan31
 
Inscription : février 2008
Messages : 2 124
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 124
Points : 2 051
Points : 2 051
Bonjour,
merci ça marche mais le test n'est pas validé true lorsque l'on clic sur le 2ème ou le 3ème bouton radio. Désole je débute en JS.

Je suppose que ça vient de là?
var nb = rvn.length;
for( i = 0; i < nb; i++) {

J'ai essayé avec ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
function checkRvn() {
var isChecked=false;
for (i=0; i<document.getElementsByTagName("input").length; i++)
if (document.getElementsByTagName("input")[i].name=="revenus")
if (document.getElementsByTagName("input")[i].checked)
isChecked=true;
if (!isChecked)
{
texte_bad += "Vous devez choisir un revenu.\n";
return false;
}
}
Mais ça marche pas non plus !
Erwan31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 09h37   #10
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 757
Points : 4 757
milles excuses, j'ai modifié à l'arrache sans plus regarder
Code :
1
2
3
4
5
6
7
8
9
10
11
function checkRvn() {
  var rvn = document.getElementById("form3").elements["revenus"];
  var nb = rvn.length;
  for( i = 0; i < nb; i++) {
    if( rvn[i].checked) {
      return true;
    }
  }
  // si aucun coche
   return false;
}
devrait être mieux
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 09h44   #11
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Bonjour,

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function checkRvn() {
	var rvn = document.getElementById("form3").elements["revenus"];
	for (i=0; i<rvn.length; i++){
		if(rvn[i].checked){
			return "";
		}
	}
	return "Vous devez choisir un revenu.\n";
}
 
function test_form() {
  var texte_bad = "";
  monForm = document.getElementById("form3");
  if( monForm.nom.value == "") texte_bad = texte_bad + "Vous devez saisir votre nom\n";
  if( monForm.codepostal.value == "") texte_bad = texte_bad + "Vous devez saisir votre code postal\n";
  if( monForm.tel.value == "") texte_bad = texte_bad + "Vous devez saisir votre numéro de téléphone\n";
  if( monForm.email.value == "") texte_bad = texte_bad + "Vous devez saisir votre email\n";
  if( monForm.CG.checked == false) texte_bad = texte_bad + "Vous devez accepter les conditions générales pour pouvoir poursuivre.\n";
  texte_bad += checkRvn();
 
  var regex = new RegExp(/^0[1-90](((\.[0-9]{2}){4})|((\-[0-9]{2}){4})|(([0-9]{2}){4})|(\ ([0-9]{2}){4}))$/gi);
 
  if( texte_bad == "") {
    return true;
  }
  else {
    alert(texte_bad);
    return false;
  }
}
A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 09h49   #12
Membre Expert
 
Avatar de Erwan31
 
Inscription : février 2008
Messages : 2 124
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 124
Points : 2 051
Points : 2 051
Bonjour,
super ça marche (même si je ne sais pas quel code choisir) !

Merci.
Erwan31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 10h59   #13
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Citation:
Envoyé par Erwan31 Voir le message
même si je ne sais pas quel code choisir
J'ai pas vue le code NoSmoking , il a posté pendant que je rédige le mien mais c'est la même chose.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h58.


 
 
 
 
Partenaires

Hébergement Web