Nouvelle ligne dans la boîte d'alerte JavaScript

389

Comment mettre une nouvelle ligne dans une boîte d'alerte JavaScript?

Germe
la source
1
PHP_EOL a fonctionné pour moi, mais comme beaucoup d'autres réponses ici ne l'ont pas ....
Hayden Thring

Réponses:

593

\nmettra une nouvelle ligne dedans - \nétant un code de contrôle pour la nouvelle ligne.

alert("Line 1\nLine 2");

Michael Gattuso
la source
7
Navigateur complètement croisé
Justin Johnson
4
Si j'utilise \ n dans mon message d'alerte, la boîte de dialogue ne s'affiche même pas dans l'application ASP.NET. Est-ce que Microsoft a un problème avec cela :)
Hammad Khan
20
Pour Le chasseur de crocodiles, dans ASP.NET derrière les alertes de code, vous devez utiliser des caractères d'échappement, cela signifie Registerblabla (bla, bla, "alert ('hi \\ nhi deuxième ligne')")
NicolasT
5
Dans ASP.NET MVC4, j'ai utilisé </br>au lieu de \npour obtenir une nouvelle ligne.
Kevin Meredith
2
Je travaille dans MVC 4 et je crée un confirm()en onsubmitcas de Html.BeginForm(). \nne fonctionne pas pour moi. Je reçois une Illegal tokenerreur lorsque le code est frappé. Apparemment, vous devez échapper à la fois au caractère de nouvelle ligne et à la barre oblique inverse qui crée le caractère de nouvelle ligne, comme ceci:\\n
Kehlan Krumme
52

 alert("some text\nmore text in a new line");

Production:

some text
more text in a new line

Amarghosh
la source
40

vous devez utiliser des guillemets doubles pour afficher des caractères spéciaux comme \ n \ t etc ... dans la boîte d'alerte js par exemple dans le script php:

$string = 'Hello everybody \n this is an alert box';
echo "<script>alert(\"$string\")</script>";

Mais un deuxième problème possible survient lorsque vous souhaitez afficher une chaîne spécifiée en guillemets doubles.

voir le texte du lien

Si la chaîne est placée entre guillemets ("), PHP interprétera plus de séquences d'échappement pour les caractères spéciaux

les séquences d'échappement \ n sont transformées en caractères d'échappement ASCII 0x0A et ce caractère n'est pas affiché dans la boîte d'alerte. La solution consiste à échapper à cette séquence spéciale:

$s = "Hello everybody \\n this is an alert box";
echo "<script>alert(\"$string\")</script>";

si vous ne savez pas comment la chaîne est enfermée, vous devez transformer les caractères spéciaux en leurs séquences d'échappement

$patterns = array("/\\\\/", '/\n/', '/\r/', '/\t/', '/\v/', '/\f/');
$replacements = array('\\\\\\', '\n', '\r', '\t', '\v', '\f');
$string = preg_replace($patterns, $replacements, $string);
echo "<script>alert(\"$string\")</script>";
Greg
la source
29

En C # j'ai fait:

alert('Text\\n\\nSome more text');

Il s'affiche comme:

Texte

Un peu plus de texte

Paul H
la source
14

Liste des codes de caractères spéciaux en JavaScript:

Code    Outputs
\'  single quote
\"  double quote
\\  backslash
\n  new line
\r  carriage return
\t  tab
\b  backspace
\f  form feed
Bishnu Paudel
la source
9
alert("text\nnew Line Text");

Modifié: vous n'avez pas besoin d'avoir les guillemets et les chaînes supplémentaires

Basem Olimy
la source
8

Lorsque vous voulez écrire en alerte javascript à partir d'une variable php, vous devez ajouter un autre "\" avant "\ n". Au lieu de cela, le pop-up d'alerte ne fonctionne pas.

ex:

PHP :
$text = "Example Text : \n"
$text2 = "Example Text : \\n"

JS:
window.alert('<?php echo $text; ?>');  // not working
window.alert('<?php echo $text2; ?>');  // is working
Julha
la source
Pourquoi cette réponse est-elle sous-estimée? si vous pensez de manière plus dynamique en termes de programmation de pages Web, c'est une grande aide.
Jimwel Anobong
Lorsque vous définissez une variable en PHP avec des guillemets doubles, PHP vérifie les variables à l'intérieur des guillemets doubles. Théoriquement, cela coûte des ressources. Un moyen simple et direct de créer js alerttext en PHP, utilise des guillemets simples et ajoute des variables en dehors des qoutes simples, comme $ jsAlert = 'bla bla'. $ Var. ' \ nmore bla bla ';
Terradon
Je suis d'accord mais tu ne peux jamais faire comme tu l'as dit. Exemple de cas d'utilisation, lorsque toutes les variables de chaîne proviennent de PHP, vous ne pouvez pas écrire une gestion particulière pour chaque chaîne qui a besoin d'un saut de ligne.
Julha
3

Juste au cas où cela aiderait quelqu'un, lorsque je faisais cela à partir du code C #, j'ai dû utiliser un double caractère d'échappement ou j'ai eu une erreur JavaScript "constante de chaîne non terminée":

ScriptManager.RegisterStartupScript(this, this.GetType(), "scriptName", "alert(\"Line 1.\\n\\nLine 2.\");", true);
Sir Crispalot
la source
3

Fonctionne avec \nmais si le script est dans une balise java, vous devez écrire\\\n

<script type="text/javascript">alert('text\ntext');</script>

ou

<h:commandButton action="#{XXXXXXX.xxxxxxxxxx}" value="XXXXXXXX" 
    onclick="alert('text\\\ntext');" />
David
la source
Dans les balises Java, il vous suffit de l'échapper deux fois. Comme dans<%out.print("alert('First line\\nSecond line.')");%>
third_eye
3

alert('The transaction has been approved.\nThank you');

Ajoutez simplement un caractère de nouvelle ligne \ n.

alert('The transaction has been approved.\nThank you');
//                                       ^^
Muhammad Awais
la source
C'est ce que Michael Gattuso a dit il y a six ans et demi. Sa réponse a été acceptée. Cela ne semble rien dire de nouveau et en est essentiellement une copie.
Quentin
@Quentin: La différence est entre guillemets simples et doubles ... fonctionne dans les deux sens, ce que Michael Gattuso n'a pas mentionné.
Ole Sauffaus
@OleSauffaus - C'est une différence non pertinente.
Quentin
2

 alert("some text\nmore text in a new line");

alert("Line 1\nLine 2\nLine 3\nLine 4\nLine 5");

Abdul Hameed
la source
1

Merci pour les indices. L'utilisation du signe "+" est la seule façon de le faire fonctionner. Il s'agit de la dernière ligne d'une fonction qui ajoute des nombres. J'apprends juste JavaScript moi-même:

alert("Line1: The sum is  " + sum + "\n" + "Line 2");
user2133139
la source
1

\n ne fonctionnera pas si vous êtes dans le code java:

<% System.out.print("<script>alert('Some \n text')</script>"); %>

Je sais que ce n'est pas une réponse, je pensais juste que c'était important.

troisième oeil
la source
Je voulais dire Java. Comme dans une page JSP.
third_eye
2
Ensuite, vous devez simplement échapper au personnage d'échappement <% System.out.print("<script>alert('Some \\n text')</script>"); %>.
zamber le
1

utilisez le nouveau caractère de ligne d'un javascript au lieu de '\ n' .. par exemple: "Hello \ nWorld" utilisez "Hello \ x0AWorld" Cela fonctionne très bien !!

Chitra
la source
N'est-ce pas \xAla même chose que \n?
Cristik
0

Dans l'application JAVA, si le message est lu à partir du fichier "propriétés".

En raison de la double compilation java-html,

vous aurez besoin d'une double évasion.

jsp.msg.1=First Line \\nSecond Line

aura pour résultat

First Line
Second Line
BiScOtTiNo
la source
-1

J'ai vu que certaines personnes avaient des problèmes avec cela dans MVC, donc ... un moyen simple de passer '\ n' en utilisant le modèle, et dans mon cas même en utilisant un texte traduit, est d'utiliser HTML.Raw pour insérer le texte. Cela m'a arrangé. Dans le code ci-dessous, Model.Alert peut contenir des sauts de ligne, comme "Hello \ nWorld" ...

alert("@Html.Raw(Model.Alert)");
Andy
la source
-1

Vous pouvez utiliser \ n pour une nouvelle ligne

alert("Welcome\nto Jumanji");

alert("Welcome\nto Jumanji");

Arun Karnawat
la source
-2

Un nouveau caractère de ligne en javascript peut être obtenu en utilisant \n

Cela peut être fait en utilisant

alert("first line \n second line \n third line");

Production :

Première ligne

deuxième ligne

troisième ligne

voici un jsfiddle préparé pour le même.

Yasser Shaikh
la source
-2

J'ai utilisé: "\ n \ r" - cela ne fonctionne que entre guillemets.

var fvalue = "foo";
var svalue = "bar";
alert("My first value is: " + fvalue + "\n\rMy second value is: " + svalue);

will alert as:

My first value is: foo
My second value is: bar
user2344047
la source
1
L'ordre correct, si vous insistez pour utiliser la terminaison CRLF \r\n, ne l' est pas \n\r.
Cristik