4 votes

L'élément unique de l'array[0] renvoie undefined

Tous les développeurs plus intelligents que moi,

En gros, j'ai un champ de saisie pour le prénom, je veux permettre à l'utilisateur de saisir son prénom et son nom dans ce champ. Ensuite, je veux prendre la 2e valeur (nom de famille) et pousser la valeur dans un autre champ de saisie qui est caché (display:none). Donc, en théorie, le code ci-dessous devrait le faire

var array = [];

var fullname = $("#firstName").value.split(" ");

array.push(fullname);

$("#lastName").value = array[1];

alert(array[1])

Par exemple, si je saisis "Prénom Nom" comme valeurs dans le champ du prénom et que je divise et pousse dans le tableau, si je l'alerte alert(array) ou $("#lastName").value = array, il pousse les bonnes valeurs, cependant lorsque j'essaie d'alerter ou de définir uniquement la 2e partie du tableau[1], cela revient toujours comme undefined !? S'il vous plaît éclairez-moi mes amis.

6voto

Rory McCrossan Points 69838

Tout d'abord, jQuery utilise la méthode val() pour récupérer la valeur d'un élément de formulaire. Tenter d'accéder à la propriété value ne renverra rien.

En dehors de cela, votre problème est que vous créez un tableau imbriqué en poussant le résultat de split() (c'est-à-dire un tableau) dans array:

var fullname = $("#firstName").val().split(" ");

var array = [];
array.push(fullname);
console.log(array)

Plutôt, travaillez directement avec le résultat de split(), sans appeler push():

var fullname = $("#firstName").val();

var array = fullname.split(' ');
console.log(array[1]);

C'est évidemment un exemple basique. Vous devriez également vous assurer que le tableau résultant a au moins 2 éléments.

1voto

kritikaTalwar Points 1509

Vous avez des problèmes de syntaxe tels que :

var array = [];

var fullname = $("#firstName").val();
array=fullname.split(" ");
$("#lastName").val(array[1]);
alert(array[1]);

0voto

gurvinder372 Points 16722

Vous voulez pousser des valeurs d'un tableau vers un autre tableau, au lieu de array.push(fullname);, utilisez

array.push.apply( array , fullname);

ou

array = array.concat(fullName);

0voto

Ashwini Points 203

Dans votre code, utilisez $("#lastName").val() au lieu de $("#lastName").value. Vous utilisez array[] au lieu de array constructor(). Par exemple: var a = array[1] retourne 1 ce qui signifie la valeur de a = 1.

Veuillez vérifier le lien: Différence entre new Array() et [ ]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X