Jeśli użyję \ n w moim komunikacie ostrzegawczym, okno dialogowe nawet nie zostanie wyświetlone w aplikacji ASP.NET. Czy Microsoft ma z tym problem :)
Hammad Khan
20
Dla myśliwego krokodyla, w ASP.NET za alertami kodu, musisz użyć znaków zmiany znaczenia, co oznacza Registerblabla (bla, bla, „alert („ drugi wiersz 'hi \\ nhi') ”)
NicolasT
5
W ASP.NET MVC4 użyłem </br>zamiast \nuzyskać nową linię.
Kevin Meredith,
2
Pracuję w MVC 4 i tworzę 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
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
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
Dlaczego ta odpowiedź jest niedoceniana? jeśli myślisz o wiele bardziej dynamicznie, jeśli chodzi o programowanie stron internetowych, jest to duża pomoc.
Jimwel Anobong
Podczas ustawiania zmiennej w PHP z podwójnymi cudzysłowami, PHP sprawdza zmienne wewnątrz podwójnych cudzysłowów. Teoretycznie kosztuje to zasoby. Prostym i bezpośrednim sposobem tworzenia tekstu ostrzegawczego js w PHP jest użycie pojedynczych cudzysłowów i dodawanie zmiennych poza pojedynczymi qoutes, takich jak $ jsAlert = 'bla bla'. $ Var. ' \ nmore bla bla ';
Terradon
Zgadzam się, ale nigdy nie możesz zrobić tak, jak powiedziałeś. Przykładowy przypadek użycia, gdy wszystkie zmienne łańcuchowe pochodzą z PHP, nie można napisać konkretnej obsługi dla każdego łańcucha, który wymaga podziału linii.
Julha,
3
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”:
Tak powiedział Michael Gattuso sześć i pół roku temu. Jego odpowiedź została zaakceptowana. To nie wydaje się mówić nic nowego i jest w zasadzie kopią tego.
Quentin,
@Quentin: Różnica jest pojedyncza vs. podwójne cudzysłowy ... działa w obie strony, o których Michael Gattuso nie wspomniał.
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:
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:
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” ...
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
Odpowiedzi:
\n
wstawi nowy wiersz -\n
będący kodem sterującym dla nowego wiersza.źródło
</br>
zamiast\n
uzyskać nową linię.confirm()
wonsubmit
przypadkuHtml.BeginForm()
.\n
nie działa dla mnie OtrzymujęIllegal token
błą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
Wynik:
źródło
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:
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:
jeśli nie wiesz, jak łańcuch jest zamknięty, musisz przekształcić znaki specjalne w ich sekwencje specjalne
źródło
W C # zrobiłem:
Wyświetla się jako:
źródło
Lista kodów znaków specjalnych w JavaScript:
źródło
Zmodyfikowane: Nie musisz mieć dodatkowych cudzysłowów i ciągów
źródło
Kiedy chcesz napisać w alercie javascript ze zmiennej php, musisz dodać inne „\” przed „\ n”. Zamiast tego wyskakujące okienko nie działa.
dawny:
źródło
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”:
źródło
Działa z,
\n
ale jeśli skrypt znajduje się w tagu Java, musisz napisać\\\n
lub
źródło
<%out.print("alert('First line\\nSecond line.')");%>
Po prostu dodaj znak nowej linii \ n.
źródło
źródło
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:
źródło
\n
nie będzie działać, jeśli jesteś w kodzie Java:Wiem, że to nie jest odpowiedź, tylko pomyślałem, że to ważne.
źródło
<% System.out.print("<script>alert('Some \\n text')</script>"); %>
.użyj nowego wiersza znaku javascript zamiast „\ n” .. np .: „Hello \ nWorld” użyj „Hello \ x0AWorld” Działa świetnie !!
źródło
\xA
to samo co\n
?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:
Wyjścia:
źródło
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.
spowoduje
źródło
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” ...
źródło
Możesz użyć \ n dla nowej linii
źródło
Nowy znak wiersza w javascript można uzyskać za pomocą
\n
Można to zrobić za pomocą
Wynik :
oto jsfiddle przygotowany na to samo.
źródło
Użyłem: „\ n \ r” - to działa tylko w podwójnych cudzysłowach.
źródło
\r\n
nie\n\r
.