Partage
  • Partager sur Facebook
  • Partager sur Twitter

Pourquoi on n'utilise pas de boucle dans mon exo?

27 avril 2018 à 19:09:33

Bonjour,

Je suis encore débutant en javaScript, en classe nous avons réalisé un petit exercice, et je ne comprends pas pourquoi on n'utilise pas de boucle FOR mais plutôt un i = i + 1 pour incrémenter le nombre de client.

arrayClient = new Array();
var i = 0;

				function encodage()
				{
					arrayClient[i] = nom_client.value;
					i = i + 1;

					nom_client.value = "";
					nom_client.focus();

				}


Un grand merci

-
Edité par Augustin1340 27 avril 2018 à 19:12:08

  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2018 à 19:57:53

Que est le reste du code ? Ta fonction encodage n'est jamais appelée.
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2018 à 20:15:44

La comme ca je dirais que vue que dans javascript on commence à compter à partir de zero i = i + 1; doit permettre de compter à partir de 1 et qu'ainsi la valeur récupéré (.value)  commencera au minimum par le client numero 1. 

Ce n'est q'une supposition bien sûr avec le peu d’élément que l'on a.

  • Partager sur Facebook
  • Partager sur Twitter
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet.
27 avril 2018 à 20:53:52

Bonsoir,

Veuillez m'excuser voici l'intégralité de mon code.

<!DOCTYPE html>
	<html>	
		<head>
			<script type="text/javascript">

				var tab = new Array();
				var i = 0;

				function main()
				{
					tab[i] = save_client.value;
					i = i + 1;

					save_client.value = "";
					save_client.focus();

				}

				function affichage()
				{
					tab.sort();
					var tabJoin = tab.join(" ");
					tri_list.value = tabJoin;

				}

			</script>

		<body>

			<center>
				<u>CLIENTS DE LA SOCIETE </u>
				<br><br>
				<input type="text" id="save_client" size="60" >
				<input type="submit" value="Enregistrer le client" onclick="main()" >
				<br><br>
				<input type="text" id="tri_list" size="60" >
				<input type="submit" value="Liste alphabetique" onclick="affichage()" >
			</center>


		</body>


		</head>

	</html>



  • Partager sur Facebook
  • Partager sur Twitter
28 avril 2018 à 0:10:59

Salut,

Alors tout d'abord, je sais pas quel est le nom de ton école et de ta formation mais j'espère que ce n'est pas elle qui t'a appris ces balises HTML. Elle sont plus utilisé depuis quelques années (je parle des balises "center" et "u").

Ensuite je sais pas si tu as déjà vu le CSS mais sache que mettre plusieurs <br> à la suite c'est pas très propre. Tout comme mettre le js dans l'en-tête de la page.

Maintenant passons à ton code. Il ne font pas une boucle car la fonction main ne sert pas à lire mais à enregistrer une nouvelle valeur dans le tableau "tab". Après il y a beaucoup de chose à redire, comme l'utilisation du new Array() qui est déconseillé vu que ça va créer un objet de type Array et non un vrai tableau.

L'utilité de ce i = i + 1 est à revoir car il y a des méthodes sur les tableaux pour pouvoir ajouter des éléments, en retirer, etc.

Voici un code beaucoup mieux et franchement, j'espère que le code montré n'était pas la correction car c'est vraiment horrible à voir :

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Exercice</title>

    <style>
        .container {
            width: 900px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <section class="container">
        <form action="#" method="post" id="formAddClient">
            <input type="text" name="nomClient" id="nomClient">
            <button type="submit">Enregistrer un client</button>
        </form>
    </section>

    <script>
        const clients = []
        const formAddClient = document.getElementById('formAddClient')
        const nomClient = document.getElementById('nomClient')

        formAddClient.addEventListener('submit', function (e) {
            e.preventDefault()

            if (nomClient.value.length > 0) {
                clients.push(nomClient.value)
                nomClient.value = ''
                nomClient.focus()
            }
        })
    </script>
</body>
</html>

Voilà pour la partie ajout dans un tableau. En tout cas j'espère vraiment que c'est pas ton école qui t'apprends ça.

-
Edité par quenti77 28 avril 2018 à 0:12:29

  • Partager sur Facebook
  • Partager sur Twitter
30 avril 2018 à 16:16:49

Bonjour,

C'est la correction que le prof nous a donné auparavant. :-°

Merci pour ton code je vais voir ça....:p

  • Partager sur Facebook
  • Partager sur Twitter