![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Mam problem z przeniesieniem zmiennej z PHP do JS. Opiszę cały proces krok po kroku, by łatwiej było zrozumieć naturę problemu.
1. Na stronie znajduje się textarea. 2. Użytkownik wpisuje coś w textarea, oddzielając nowe wiersze enterem. 3. Zapisuję dane do bazy. 4. Użytkownik wchodzi ponownie na stronę. 5. Wyciągam dane zapisane w bazie i przypisuję je do formularza. 6. W przypadku textarea odbywa się to z poziomu JS, ponieważ jest to część generowana dynamicznie (użytkownik ma możliwość kliknąć dodaj opis, co spowoduje wyświetlenie kolejnego textarea). 7. Pojawia się błąd JS: [code] unterminated string literal [Break on this error] var zmienna = 'sd f gdfhx ghff gdfg\n [/doce] ponieważ string zawiera znaki końca wiersza, które rozwalają JS. Jak to obejść, by nie trzeba było generować formularza w PHP? -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
w js jak zmienna będzie miała \n to oznacza ze bedzie załamanie lini w textarea:
przykład: wieć wystarczy w php zamienić za pomocą str_replace():
i potem podać to do zmiennej w java script: myślę, że pomoże |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
str_replace już używałem, podobnie jak htmlspecialchars, itp. Nic to nie dało.
Zmienię jednak sposób generowania formularza i zrobię wszystko w PHP. Jednak jeśli da się to zrobić w JS z chęcią poznam rozwiązanie. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
no tak.. ale z błędu który przesłałeś:
Kod unterminated string literal [Break on this error] var zmienna = 'sd f gdfhx ghff gdfg\n wynika, że linia w javaScript jest niepoprawnie zakończona... czyli pewnie jest złamanie w samym stringu: Podejrzewam, że w źródle kod JS wygląda mniej więcej tak: Kod var zmienna = 'sd f gdfhx ghff gdfg reszta ciagu'; niestety taki zapis w JS nie przejdzie, więc trzeba zamienić wszystkie "końce linii" na STRINGA \n, czyli tak, aby w wyniku kod JS wyglądał tak: Kod var zmienna = 'sd f gdfhx ghff gdfg\nreszta ciagu'; czyli zanim podasz zmienną z PHP do JS to musisz za pomocą str_replace() zamienić wszystkie znaki końca linii na STRINGA \n! to spowoduje, że cały string przekazany do JS będzie w jednej linii i nie wystąpi ten błąd co pokazałeś na początku. uważam że generowanie w PHP... to nie jest dobre wyjście... |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Wiem jak brzmi teoria
![]() -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:53 |