JavaScript uyarı kutusunda yeni satır


389

JavaScript uyarı kutusuna nasıl yeni bir satır eklersiniz?


1
PHP_EOL burada diğer birçok cevap vermedi olsa benim için çalıştı ....
Hayden Thring

Yanıtlar:


593

\nyeni bir satır ekler - yeni satır \niçin bir kontrol kodu olur.

alert("Line 1\nLine 2");


7
Tamamen çapraz tarayıcı
Justin Johnson

4
Uyarı iletimde \ n kullanırsam, iletişim kutusu ASP.NET uygulamasında bile görüntülenmez. Microsoft bu konuda sorun var mı :)
Hammad Khan

20
Timsah avcısı için, ASP.NET'te kod uyarılarının arkasında, kaçış karakterleri kullanmanız gerekir, bu da Registerblabla (bla, bla, "uyarı ('hi \\ nhi ikinci satır')")
Kasım'da NicolasT

5
ASP.NET MVC4, </br>yerine \nyeni bir satır almak için kullanılır .
Kevin Meredith

2
Ben MVC 4'te çalışan ve yaratıyorum confirm()içinde onsubmitbir durumunda Html.BeginForm(). \nbenim için çalışmıyor. Illegal tokenKod vurulduğunda bir hata alıyorum. Görünüşe göre hem newline karakterinden hem de newline karakterini oluşturan ters eğik \\n
çizgiden kaçmanız


40

php komut dosyasında örnek için js uyarı kutusunda \ n \ t vb gibi özel karakterleri görüntülemek için çift tırnak kullanmanız gerekir:

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

Ancak çift tırnak içinde belirtilen bir dize görüntülemek istediğinizde ikinci bir olası sorun ortaya çıkar.

bağlantı metnine bakın

Dize çift tırnak içine alınmışsa ("), PHP özel karakterler için daha fazla çıkış sırası yorumlayacaktır

çıkış dizileri \ n 0x0A ASCII Çıkış karakteri olarak dönüştürülür ve bu karakter uyarı kutusunda görüntülenmez. Çözüm, bu özel diziden kaçmaktan oluşur:

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

dizenin nasıl kapatıldığını bilmiyorsanız, özel karakterleri kaçış dizilerine dönüştürmeniz gerekir

$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

C # yaptım:

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

Şu şekilde görüntülenir:

Metin

Biraz daha metin


14

JavaScript'teki Özel Karakter kodlarının listesi:

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

Değiştirildi: Fazladan tırnak ve karakter dizisine sahip olmanıza gerek yok


8

Bir php değişkeninden javascript uyarısı yazmak istediğinizde, "\ n" den önce başka bir "\" eklemeniz gerekir. Bunun yerine uyarı pop-up'ı çalışmıyor.

örn:

PHP :
$text = "Example Text : \n"
$text2 = "Example Text : \\n"

JS:
window.alert('<?php echo $text; ?>');  // not working
window.alert('<?php echo $text2; ?>');  // is working

Bu cevap neden hafife alındı? Web sayfalarını programlama açısından daha dinamik bir şekilde düşünüyorsanız, bu büyük bir yardımcıdır.
Jimwel Anobong

PHP'de çift tırnak işareti içeren bir değişken ayarlarken, PHP çift tırnak içindeki değişkenleri kontrol eder. Teorik olarak, bu kaynaklara mal olur. PHP'de js uyarı metni oluşturmanın basit ve basit bir yolu, tek tırnak işareti kullanmak ve $ qsAlert = 'bla bla' gibi tek qoutes dışında değişkenler eklemektir. $ Var. ' \ n artık bla bla ';
Terradon

Kabul ediyorum ama söylediğin gibi yapamazsın. Örnek kullanım örneği, tüm dize değişkenleri PHP'den geldiğinde, satır sonu gerektiren her dize için belirli bir işlem yazamazsınız.
Julha

3

Bu herkesin yardımcı olması durumunda, C # kodundan bunu yaparken bir çift kaçış karakteri kullanmak zorunda kaldım veya bir "belirsiz dize sabiti" JavaScript hatası var:

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

3

İle çalışır, \nancak komut dosyası bir java etiketine yazılırsa\\\n

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

veya

<h:commandButton action="#{XXXXXXX.xxxxxxxxxx}" value="XXXXXXXX" 
    onclick="alert('text\\\ntext');" />

Java etiketleri içinde iki kez kaçmanız gerekir. Olduğu gibi<%out.print("alert('First line\\nSecond line.')");%>
third_eye

3

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

Bir satırsonu karakteri ekleyin.

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

Michael Gattuso altı buçuk yıl önce böyle söyledi. Cevabı kabul edildi. Bu yeni bir şey söylemiyor gibi görünüyor ve temelde bunun bir kopyası.
Quentin

@Quentin: Fark tek - çift tırnak arasında ... Michael Gattuso'nun bahsetmediği her iki şekilde de çalışıyor.
Ole Sauffaus

@OleSauffaus - Bu alakasız bir fark.
Quentin


1

İpuçları için teşekkürler. "+" İşaretini kullanmak işe koyulmamın tek yoludur. Bu, bazı sayılar ekleyen bir fonksiyonun son satırıdır. Ben sadece JavaScript'i kendim öğreniyorum:

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

1

\n java kodu içinde olsa çalışmaz:

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

Bunun bir cevap olmadığını biliyorum, sadece önemli olduğunu düşündüm.


Java demek istedim. JSP sayfasında olduğu gibi.
third_eye

2
O zaman kaçış karakterinden kaçmalısın <% System.out.print("<script>alert('Some \\n text')</script>"); %>.
zamber

1

'\ n' yerine javascript'in yeni satır karakterini kullanın .. örneğin: "Hello \ nWorld" kullanın "Hello \ x0AWorld" Harika çalışıyor !!


İle \xAaynı değil \nmi?
Cristik


0

JAVA uygulamasında, mesaj "özellikler" dosyasından okunursa.

Çift derleme java-html nedeniyle,

çift ​​kaçışa ihtiyacınız olacak.

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

sonuçlanacak

First Line
Second Line

-1

Bazı insanların MVC'de bununla ilgili sorun yaşadığını gördüm, bu yüzden ... Modeli kullanarak '\ n' iletmenin basit bir yolu ve benim durumumda bile çevrilmiş bir metin kullanmak, metni eklemek için HTML.Raw kullanmaktır. Bu benim için sorunumu çözdü. Aşağıdaki kodda, Model.Alert "Hello \ nWorld" gibi yeni satırlar içerebilir ...

alert("@Html.Raw(Model.Alert)");


-2

Javascript içinde yeni bir satır karakteri kullanılarak elde edilebilir \n

Bu kullanılarak yapılabilir

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

Çıktı :

İlk satır

ikinci çizgi

üçüncü satır

İşte aynı şey için hazırlanmış bir jsfiddle .


-2

Ben kullandım: "\ n \ r" - sadece olsa çift tırnak içinde çalışı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

1
CRLF sonlandırmasını kullanmakta ısrar ederseniz, doğru sıra \r\ndeğildir \n\r.
Cristik
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.