Odpowiedzi:
\nwstawi nowy wiersz - \nbędący kodem sterującym dla nowego wiersza.
alert("Line 1\nLine 2");
</br>zamiast \nuzyskać nową linię.
confirm()w onsubmitprzypadku Html.BeginForm(). \nnie działa dla mnie Otrzymuję Illegal tokenbłąd, gdy kod zostanie trafiony. Najwyraźniej musisz uciec zarówno od znaku nowej linii, jak i odwrotnego ukośnika, który tworzy znak nowej linii, w ten sposób:\\n
alert("some text\nmore text in a new line");
Wynik:
some text
more text in a new line
musisz użyć podwójnych cudzysłowów, aby wyświetlić specjalny znak, taki jak \ n \ t etc ... w polu alertu js dla przykładu w skrypcie php:
$string = 'Hello everybody \n this is an alert box';
echo "<script>alert(\"$string\")</script>";
Ale pojawia się drugi możliwy problem, gdy chcesz wyświetlić ciąg określony w cudzysłowie.
patrz tekst linku
Jeśli ciąg jest ujęty w cudzysłów („), PHP zinterpretuje więcej sekwencji specjalnych dla znaków specjalnych
sekwencje specjalne \ n są przekształcane jako 0x0A ASCII Znak ucieczki i ten znak nie jest wyświetlany w polu alertu. Rozwiązanie polega na uniknięciu tej specjalnej sekwencji:
$s = "Hello everybody \\n this is an alert box";
echo "<script>alert(\"$string\")</script>";
jeśli nie wiesz, jak łańcuch jest zamknięty, musisz przekształcić znaki specjalne w ich sekwencje specjalne
$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>";
Lista kodów znaków specjalnych w 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");
Zmodyfikowane: Nie musisz mieć dodatkowych cudzysłowów i ciągów
Kiedy chcesz napisać w alercie javascript ze zmiennej php, musisz dodać inne „\” przed „\ n”. Zamiast tego wyskakujące okienko nie działa.
dawny:
PHP :
$text = "Example Text : \n"
$text2 = "Example Text : \\n"
JS:
window.alert('<?php echo $text; ?>'); // not working
window.alert('<?php echo $text2; ?>'); // is working
Na wypadek, gdyby to pomogło komukolwiek, robiąc to z kodu C # za mną, musiałem użyć podwójnego znaku zmiany znaczenia lub dostałem błąd JavaScript „niezakończonej ciągu znaków”:
ScriptManager.RegisterStartupScript(this, this.GetType(), "scriptName", "alert(\"Line 1.\\n\\nLine 2.\");", true);
Działa z, \nale jeśli skrypt znajduje się w tagu Java, musisz napisać\\\n
<script type="text/javascript">alert('text\ntext');</script>
lub
<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');
Po prostu dodaj znak nowej linii \ 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");
Dzięki za podpowiedzi. Używanie znaku „+” to jedyny sposób, w jaki mogę go uruchomić. To ostatni wiersz funkcji, która dodaje pewne liczby. Sam uczę się JavaScript:
alert("Line1: The sum is " + sum + "\n" + "Line 2");
\n nie będzie działać, jeśli jesteś w kodzie Java:
<% System.out.print("<script>alert('Some \n text')</script>"); %>
Wiem, że to nie jest odpowiedź, tylko pomyślałem, że to ważne.
<% System.out.print("<script>alert('Some \\n text')</script>"); %>.
Począwszy od ECMAScript 2015 , możesz używać znaczników wstecznych (``) w celu dołączenia literałów szablonów dla ciągów wieloliniowych, takich jak to:
alert(`Line1
Line2`);
Wyjścia:
Line1
Line2
W aplikacji JAVA, jeśli wiadomość jest odczytywana z pliku „właściwości”.
Ze względu na podwójną kompilację java-html,
będziesz potrzebował podwójnej ucieczki.
jsp.msg.1=First Line \\nSecond Line
spowoduje
First Line
Second Line
Widziałem, że niektórzy ludzie mieli z tym problem w MVC, więc ... prostym sposobem na przekazanie „\ n” przy użyciu Modelu, aw moim przypadku nawet przy użyciu przetłumaczonego tekstu, jest użycie HTML.Raw do wstawienia tekstu. To naprawiło to dla mnie. W poniższym kodzie Model.Alert może zawierać nowe wiersze, takie jak „Hello \ nWorld” ...
alert("@Html.Raw(Model.Alert)");
Możesz użyć \ n dla nowej linii
alert("Welcome\nto Jumanji");
alert("Welcome\nto Jumanji");
Nowy znak wiersza w javascript można uzyskać za pomocą \n
Można to zrobić za pomocą
alert("first line \n second line \n third line");
Wynik :
Pierwsza linia
druga linia
trzecia linia
oto jsfiddle przygotowany na to samo.
Użyłem: „\ n \ r” - to działa tylko w podwójnych cudzysłowach.
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\nnie \n\r.