0
votes

séparer les variables de retour par des virgules en javascript et l'afficher dans JSP

En javascript par ce code

       Orange, Banana, Apple

Dans home.jsp


      cartname+=cartArray[i].name;
      var cartname2=[cartname];
    document.getElementById("cartname2").value= cartname2.join(","); 

J'ai essayé de séparer ci-dessus par une virgule en suivant code:

    <input type ="text" id="cartname"/> // got output like OrangeBananaApple 
                                            i.e. without commas

Toujours aucun résultat. Comment obtenir la sortie séparée par des virgules comme suit dans home.jsp

 var cartname+=cartArray[i].name;// cartArray[i].name returns names like 
                                    Orange, Banana, Apple

 document.getElementById("cartname").value= cartname; // sending to home.jsp by id cartname


3 commentaires

Salut, j'ai essayé avec le code ci-dessus mais aucune sortie n'est à venir, même si je n'obtiens pas de sortie Orange Banana Apple également


@Tom pouvez-vous publier le code complet, d'où vient cartArray [i] et y a-t-il autre chose que vous faites avec cartName avant de l'assigner à l'élément DOM


stackoverflow.com/questions/56487562/...


3 Réponses :


1
votes

Vous pouvez ajouter cartArray [i] .name avec un espace d'entraînement. Ensuite, lors de la définition de la valeur de l'entrée trim , la chaîne utilise replcae pour remplacer l'espace blanc par ,

//' orange apple mango'; // string with white space before adding to value
let cartName6 =' '+cartArray[i].name;
console.log(cartName6.trim().replace(/ /g, ','))


10 commentaires

Bonjour, je reçois une seule sortie comme orange ou banane ou pomme mais pas tous. CartName + = cartarray [i] .name; // + = attribut doit être ajouté je pense


où puis-je ajouter + = attribut pour afficher plusieurs noms de fruits


Salut merci de m'avoir aidé .. J'ai essayé comme ce cartname + = [cartArray [i] .name]; document.getElementById ("cartname"). value = cartname.trim (). replace (/ / g, ','); mais n'a pas fonctionné en fait, pouvez-vous me corriger


Pourquoi cartname + = [cartArray [i] .name]; au lieu de cartname + = cartArray [i] .name; ?


ok j'ai édité mon code final 'var cartname = ""; 'cartname + = cartArray [i] .name; document.getElementById ("cartname"). value = cartname.trim (). replace (/ / g, ','); 'mais obtenant le même résultat, c'est-à-dire OrangeBananaApple


@Tom j'ai à nouveau édité la réponse pour faciliter votre compréhension. Vérifiez s'il vous plaît


continuons cette discussion dans le chat .


Salut brk pls venez discuter j'ai besoin d'un peu d'aide pour écrire la même chose en javascript


Bloc de chat @Tom à ma position


Salut brk, il n'y a pas d'espace dans la sortie avant. Ma sortie est comme OrangeMangoApple comme ça. Lors de l'exécution du code ur ici, une erreur arrive dans les pls de sortie voir



0
votes

Voici un exemple simple pour convertir votre tableau en chaîne et le joindre avec ",".

document.getElementById("cartname").value= cartArray[i].name.join(','); 

Vous pouvez l'appliquer sur votre propre code,

<script>
 var fruits=["Apple","Banana","Orange"];
 document.write(fruits.join(','));
</script>

=>output:

Pomme, banane, orange.


2 commentaires

ma sortie est var fruits = [AppleBananaMangoOrange], il n'y a pas de virgule (,) séparée. Je dois séparer par une virgule c'est la question que j'ai posée


Hey @Tom, pouvez-vous partager tout le cartArray afin que nous puissions comprendre pourquoi votre code n'omet pas la sortie attendue.



0
votes

Utilisez map ,

cartname=cartArray.map(e => e.name).join(",");


2 commentaires

tout en appliquant votre code, je n'obtiens même pas de sortie


Quelle est la valeur exacte de cartArray [i] .name ou cartArray [0] .name