Baris baru di kotak peringatan JavaScript


389

Bagaimana Anda memasukkan baris baru ke kotak peringatan JavaScript?


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");


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


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>";

29

Di C # saya lakukan:

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

Ini ditampilkan sebagai:

Teks

Lebih banyak teks


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

9
alert("text\nnew Line Text");

Dimodifikasi: Anda tidak perlu memiliki kutipan dan string tambahan


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

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);

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');" />

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');
//                                       ^^

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


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");

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.


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 !!


Tidak \xAsama dengan \n?
Cristik


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

-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)");

-1

Anda dapat menggunakan \ n untuk baris baru

alert("Welcome\nto Jumanji");

alert("Welcome\nto Jumanji");


-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.


-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

1
Urutan yang benar, jika Anda bersikeras menggunakan penghentian CRLF adalah \r\n, tidak \n\r.
Cristik
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.