Baris baru di kotak peringatan JavaScript

389

Bagaimana Anda memasukkan baris baru ke kotak peringatan JavaScript?

Kuman
sumber
1
PHP_EOL bekerja untuk saya meskipun banyak jawaban lain di sini tidak ....
Hayden Thring

Jawaban:

593

\nakan membuat baris baru \nmenjadi - kode kontrol untuk baris baru.

alert("Line 1\nLine 2");

Michael Gattuso
sumber
7
Peramban sepenuhnya silang
Justin Johnson
4
Jika saya menggunakan \ n dalam pesan peringatan saya, dialog bahkan tidak ditampilkan di aplikasi ASP.NET. Apakah Microsoft memiliki masalah dengan ini :)
Hammad Khan
20
Untuk Pemburu buaya, di ASP.NET di belakang peringatan kode, Anda perlu menggunakan karakter pelarian, ini berarti Registerblabla (bla, bla, "lansiran ('hi \\ nhi baris kedua')")
NicolasT
5
Di ASP.NET MVC4, saya menggunakan </br>alih-alih \nuntuk mendapatkan baris baru.
Kevin Meredith
2
Saya bekerja di MVC 4, dan membuat confirm()dalam onsubmitacara sebuah Html.BeginForm(). \ntidak bekerja untuk saya. Saya mendapatkan Illegal tokenkesalahan saat kode dipukul. Tampaknya Anda perlu untuk melarikan diri kedua karakter baris baru dan backslash yang menciptakan karakter baris baru, seperti:\\n
Kehlan Krumme
52

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

Keluaran:

some text
more text in a new line

Amarghosh
sumber
40

Anda harus menggunakan tanda kutip ganda untuk menampilkan karakter khusus seperti \ n \ t dll ... di kotak tanda js untuk contoh dalam skrip php:

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

Tapi masalah kedua yang mungkin muncul ketika Anda ingin menampilkan string yang ditentukan dalam tanda kutip ganda.

lihat teks tautan

Jika string dilampirkan dalam tanda kutip ganda ("), PHP akan menafsirkan lebih banyak urutan pelarian untuk karakter khusus

escape sequence \ n ditransformasikan sebagai 0x0A ASCII Melarikan karakter dan karakter ini tidak ditampilkan dalam kotak peringatan. Solusi terdiri dari untuk menghindari urutan khusus ini:

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

jika Anda tidak tahu bagaimana string terlampir Anda harus mengubah karakter khusus ke urutan pelarian mereka

$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
sumber
29

Di C # saya lakukan:

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

Ini ditampilkan sebagai:

Teks

Lebih banyak teks

Paul H.
sumber
14

Daftar kode Karakter Khusus dalam JavaScript:

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

Dimodifikasi: Anda tidak perlu memiliki kutipan dan string tambahan

Basem Olimy
sumber
8

Saat Anda ingin menulis dalam tanda javascript dari variabel php, Anda harus menambahkan "\" sebelum "\ n". Sebaliknya pop-up lansiran tidak berfungsi.

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
sumber
Mengapa jawaban ini diremehkan? jika Anda berpikir secara lebih dinamis dalam hal pemrograman halaman web, ini sangat membantu.
Jimwel Anobong
Saat mengatur var di PHP dengan tanda kutip ganda, PHP memeriksa variabel di dalam tanda kutip ganda. Secara teoritis, ini membutuhkan sumber daya. Cara sederhana dan mudah untuk membuat js alerttext di PHP, menggunakan tanda kutip tunggal dan menambahkan variabel di luar qoutes tunggal, seperti $ jsAlert = 'bla bla'. $ Var. ' \ nmore bla bla ';
Terradon
Saya setuju tetapi Anda tidak bisa melakukan seperti yang Anda katakan. Contoh use case, ketika semua variabel string berasal dari PHP, Anda tidak bisa menulis penanganan khusus untuk setiap string yang membutuhkan linebreak.
Julha
3

Hanya dalam kasus ini membantu siapa pun, ketika melakukan ini dari kode C # di belakang saya harus menggunakan karakter pelarian ganda atau saya mendapat kesalahan JavaScript "unterminated string constant":

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

Bekerja dengan \ntetapi jika skrip tersebut menjadi tag java Anda harus menulis\\\n

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

atau

<h:commandButton action="#{XXXXXXX.xxxxxxxxxx}" value="XXXXXXXX" 
    onclick="alert('text\\\ntext');" />
David
sumber
Dalam tag Java, Anda hanya perlu menghindarinya dua kali. Seperti dalam<%out.print("alert('First line\\nSecond line.')");%>
third_eye
3

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

Cukup tambahkan karakter baris baru \ n.

alert('The transaction has been approved.\nThank you');
//                                       ^^
Muhammad Awais
sumber
Itulah yang dikatakan Michael Gattuso enam setengah tahun yang lalu. Jawabannya diterima. Ini sepertinya tidak mengatakan sesuatu yang baru, dan pada dasarnya merupakan salinan dari itu.
Quentin
@ Quentin: Perbedaan adalah single- vs double-quotes ... berfungsi dua arah, yang tidak disebutkan oleh Michael Gattuso.
Ole Sauffaus
@ OleSauffaus - Itu perbedaan yang tidak relevan.
Quentin
2

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

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

Abdul Hamid
sumber
1

Terima kasih atas petunjuknya. Menggunakan tanda "+" adalah satu-satunya cara saya membuatnya bekerja. Ini adalah baris terakhir dari fungsi yang menambahkan beberapa angka. Saya baru belajar JavaScript sendiri:

alert("Line1: The sum is  " + sum + "\n" + "Line 2");
pengguna2133139
sumber
1

\n tidak akan berfungsi jika Anda berada di dalam kode java:

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

Saya tahu ini bukan jawaban, hanya berpikir itu penting.

mata ketiga
sumber
Maksudku Java. Seperti di halaman JSP.
third_eye
2
Maka Anda harus melarikan diri karakter pelarian <% System.out.print("<script>alert('Some \\n text')</script>"); %>.
zamber
1

gunakan karakter baris baru dari javascript alih-alih '\ n' .. misalnya: "Hello \ nWorld" gunakan "Hello \ x0AWorld" Ini berfungsi dengan baik !!

Chitra
sumber
Tidak \xAsama dengan \n?
Cristik
0

Pada ECMAScript 2015 Anda dapat menggunakan tanda tik kembali (``) untuk melampirkan Literal Templat untuk string multi-baris seperti ini:

alert(`Line1
Line2`);

Output:

Line1
Line2
Geoffrey Hale
sumber
0

Di aplikasi JAVA, jika pesan dibaca dari file "properties".

Karena kompilasi ganda java-html,

Anda harus melarikan diri dua kali lipat.

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

akan menghasilkan

First Line
Second Line
BiScOtTiNo
sumber
-1

Saya melihat beberapa orang mengalami masalah dengan ini di MVC, jadi ... cara sederhana untuk lulus '\ n' menggunakan Model, dan dalam kasus saya bahkan menggunakan teks yang diterjemahkan, adalah dengan menggunakan HTML. Hak untuk menyisipkan teks. Itu memperbaikinya bagi saya. Dalam kode di bawah ini, Model.Alert dapat berisi baris baru, seperti "Hello \ nWorld" ...

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

Anda dapat menggunakan \ n untuk baris baru

alert("Welcome\nto Jumanji");

alert("Welcome\nto Jumanji");

Arun Karnawat
sumber
-2

Karakter baris baru dalam javascript dapat dicapai dengan menggunakan \n

Ini bisa dilakukan menggunakan

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

Keluaran:

garis pertama

baris kedua

baris ketiga

di sini adalah jsfiddle disiapkan untuk hal yang sama.

Yasser Shaikh
sumber
-2

Saya menggunakan: "\ n \ r" - hanya bekerja dalam tanda kutip ganda.

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
pengguna2344047
sumber
1
Urutan yang benar, jika Anda bersikeras menggunakan penghentian CRLF adalah \r\n, tidak \n\r.
Cristik