Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][HTML]Apostrofy do input text
Warmix
post
Post #1





Grupa: Zarejestrowani
Postów: 173
Pomógł: 0
Dołączył: 13.06.2011

Ostrzeżenie: (0%)
-----


Taki kod:
  1. var text = $(first).text()
  2. $(first).html("<input name='edit' type='text' maxlength='255' size='5' value='" + text + "'>");


Działa to tak. Po kliknięciu wywołuje się funkcja, do której przekazywany jest string i ten string ląduje jako value tego inputa. Wszystko działa poprawie, dopóki w stringu nie znajduje się apostrof,
np.:

Cytat
test'...()[]


W inputa wrzucone jest: "test", wsyzstko to, co jest od apostrofa zostaje pominięte. Próbowałem to obejść np. tak:
  1. text = text.replace("'", "\\'");


Jednak wtedy w value pojawia się: "test\", czyli dalej zostaje pominięte wszystko od apostrofu.

W jaki sposób to obejść?
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Kod
var text=text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g,'&apos;');

https://css-tricks.com/snippets/javascript/...for-javascript/

Dla porządku powinieneś atrybuty umieszczać w cudzysłowach.


--------------------
Go to the top of the page
+Quote Post
viking
post
Post #3





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


  1. var x = $('<input/>', {
  2. value: text
  3. });
  4. $('#first').html(x);


https://github.com/salesforce/secure-filters


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 10:45