Boucle teste

Résolu/Fermé
delaville81 Messages postés 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024 - 12 août 2017 à 15:44
delaville81 Messages postés 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024 - 14 août 2017 à 11:53
Chers confrères,
Etant null en JS, j'aimerais un peu d'aide pour réussir à exécuter cette fonction JS.
var tab = ["fname","lname"];
function verifchamps(champ)
{
	for(var i = 0 ; i < tab.length ; i++)
		if(document.getElementById(tab[i]) == ''){
			surligne(champ, true);
			document.getElementById('check_out').style.display = "none";
			return false;
		}else{
		  	surligne(champ, false);
		  	document.getElementById('check_out').style.display = "block";
			return true;
		}
}


Merci d'avance



2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
14 août 2017 à 00:25
Bonjour,

Quel est le souci exactement ? Car ne lisant vite fait le code.. il me semble techniquement correct....
(même si on peut l'améliorer (le raccourcir) en écriture ternaire..)
Par exemple :
function verifchamps(champ) {
  var surL = document.getElementById(tab[i]) == '' ? true : false;
  surligne(champ, surL );
  document.getElementById('check_out').style.display =  document.getElementById(tab[i]) == '' ? "none" : "block";
  return : document.getElementById(tab[i]) == '' ? false : true;
}


homis ça.. donc.. quel est ton souci ?
Que contient ta focntion "surligne" ?
Y a t'il des messages (et si oui lesquels) dans la console de ton navigateur ?
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
14 août 2017 à 00:36
var surL = document.getElementById(tab[i]) == '' ? true : false;

C'est redondant, le test d'égalité retournant déjà un booléen.
De même pour le test ternaire après, qui peut se faire en fonction de
surL
, et le
return
qui est simplement
!surL
.
0
delaville81 Messages postés 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024
14 août 2017 à 11:53
j'vais corrigé le problème en mettant .value

if(document.getElementById(tab[i]).value == '')


Mais finalement je n'ai pas pris cette méthode car ça ne faisait pas ce que je voulais. J'ai crée une fonction pour chaque champs de mon form. C'est plus long mais ça fonctionne comme je voulais
0