Réponses:
\nmettra une nouvelle ligne dedans - \nétant un code de contrôle pour la nouvelle ligne.
alert("Line 1\nLine 2");
</br>au lieu de \npour obtenir une nouvelle ligne.
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
alert("some text\nmore text in a new line");
Production:
some text
more text in a new line
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>";
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
alert("text\nnew Line Text");
Modifié: vous n'avez pas besoin d'avoir les guillemets et les chaînes supplémentaires
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
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);
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');" />
<%out.print("alert('First line\\nSecond line.')");%>
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');
// ^^
alert("some text\nmore text in a new line");
alert("Line 1\nLine 2\nLine 3\nLine 4\nLine 5");
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");
\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.
<% System.out.print("<script>alert('Some \\n text')</script>"); %>.
Depuis ECMAScript 2015, vous pouvez utiliser des tiques inverses (``) pour entourer les littéraux de modèle pour les chaînes multilignes comme ceci:
alert(`Line1
Line2`);
Les sorties:
Line1
Line2
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
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)");
Vous pouvez utiliser \ n pour une nouvelle ligne
alert("Welcome\nto Jumanji");
alert("Welcome\nto Jumanji");
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.
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
\r\n, ne l' est pas \n\r.