Ответы:
\nвведет новую строку в \nкачестве управляющего кода для новой строки.
alert("Line 1\nLine 2");
</br>вместо того, \nчтобы получить новую строку.
confirm()в onsubmitслучае Html.BeginForm(). \nне работает для меня. Я получаю сообщение Illegal tokenоб ошибке при получении кода. По-видимому, вам нужно экранировать как символ новой строки, так и обратную косую черту, которая создает символ новой строки, например:\\n
alert("some text\nmore text in a new line");
Вывод:
some text
more text in a new line
Вы должны использовать двойные кавычки для отображения специального символа, такого как \ n \ t и т. д. ... в окне предупреждения js, например, в php-скрипте:
$string = 'Hello everybody \n this is an alert box';
echo "<script>alert(\"$string\")</script>";
Но вторая возможная проблема возникает, когда вы хотите отобразить строку, указанную в двойных кавычках.
см текст ссылки
Если строка заключена в двойные кавычки ("), PHP будет интерпретировать больше escape-последовательностей для специальных символов
escape-последовательности \ n преобразуются в 0x0A ASCII Escape-символ, и этот символ не отображается в окне предупреждения. Решение состоит в том, чтобы избежать этой специальной последовательности:
$s = "Hello everybody \\n this is an alert box";
echo "<script>alert(\"$string\")</script>";
если вы не знаете, как заключена строка, вам нужно преобразовать специальные символы в их escape-последовательности
$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>";
Список кодов специальных символов в 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");
Изменено: вам не нужно иметь дополнительные кавычки и строки
Если вы хотите записать в javascript предупреждение из переменной php, вы должны добавить другой «\» перед «\ n». Вместо этого всплывающее окно не работает.
например:
PHP :
$text = "Example Text : \n"
$text2 = "Example Text : \\n"
JS:
window.alert('<?php echo $text; ?>'); // not working
window.alert('<?php echo $text2; ?>'); // is working
На всякий случай это кому-нибудь поможет, при выполнении этого из кода C # мне пришлось использовать двойной escape-символ, или я получил ошибку JavaScript «неопределенная строковая константа»:
ScriptManager.RegisterStartupScript(this, this.GetType(), "scriptName", "alert(\"Line 1.\\n\\nLine 2.\");", true);
Работает с, \nно если скрипт в тег Java, вы должны написать\\\n
<script type="text/javascript">alert('text\ntext');</script>
или
<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');
Просто добавьте символ новой строки \ 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");
Спасибо за подсказки. Использование знака «+» - единственный способ заставить его работать. Это последняя строка функции, которая добавляет несколько чисел. Я просто изучаю JavaScript сам:
alert("Line1: The sum is " + sum + "\n" + "Line 2");
\n не будет работать, если вы внутри Java-кода:
<% System.out.print("<script>alert('Some \n text')</script>"); %>
Я знаю, что это не ответ, просто думал, что это важно.
<% System.out.print("<script>alert('Some \\n text')</script>"); %>.
Начиная с ECMAScript 2015, вы можете использовать обратные тики (``) для включения литералов шаблона для многострочных строк, например так:
alert(`Line1
Line2`);
Выходы:
Line1
Line2
В приложении JAVA, если сообщение читается из файла "свойств".
Из-за двойной компиляции Java-HTML,
тебе понадобится двойной побег.
jsp.msg.1=First Line \\nSecond Line
приведет к
First Line
Second Line
Я видел, что у некоторых людей были проблемы с этим в MVC, поэтому ... простой способ передать '\ n' с помощью модели, а в моем случае даже с использованием переведенного текста, это использовать HTML.Raw для вставки текста. Это исправило это для меня. В приведенном ниже коде Model.Alert может содержать символы новой строки, например «Hello \ nWorld» ...
alert("@Html.Raw(Model.Alert)");
Вы можете использовать \ n для новой строки
alert("Welcome\nto Jumanji");
alert("Welcome\nto Jumanji");
Я использовал: "\ n \ r" - он работает только в двойных кавычках.
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нет \n\r.