Signaler

Boucle teste [Résolu]

Posez votre question delaville81 94Messages postés jeudi 6 novembre 2008Date d'inscription 14 août 2017 Dernière intervention - Dernière réponse le 14 août 2017 à 11:53 par delaville81
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



Afficher la suite 
Utile
+0
plus moins
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 ?
ElementW 4606Messages postés dimanche 12 juin 2011Date d'inscription ContributeurStatut 16 août 2017 Dernière intervention - 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
.
Répondre
Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !