• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Konkatenacja w php

Object Storage Arubacloud
0 głosów
990 wizyt
pytanie zadane 7 maja 2016 w PHP przez Filip31411 Dyskutant (8,820 p.)

Witam. Mam linijkę kodu php, która tworzy button:

echo '<button id="przycisk" onClick="myFunction()"></button>';

Problem w tym, że w nawiasach funkcji js chciałbym podać parę zmiennych php, które są stringami:

echo '<button id="przycisk" onClick="myFunction("'.$pierwsza.'", "'.$druga.'")"></button>';

i w ten sposób zamknę cudzysłów atrybutu onClick.

Ma ktoś jakiś pomysł jak to inaczej zrobić, żeby działało?

2 odpowiedzi

0 głosów
odpowiedź 7 maja 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)
wybrane 7 maja 2016 przez Filip31411
 
Najlepsza

Możesz przykładowo tak

echo '<button id="przycisk" onClick="myFunction(\''.$pierwsza.'\', \''.$druga.'\')"></button>';

Poprzedzając cudzysłów lub apostrof backsleshem staje się on jakby nie ważny dla PHP, jest traktowany jako do wyświetlenia.

Odchodząc od PHP to takie przypisywanie zdarzenia w JS jest najgorszym z możliwych.

komentarz 7 maja 2016 przez Filip31411 Dyskutant (8,820 p.)
Dlaczego?
komentarz 7 maja 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)

Ale co dlaczego? Dlaczego takie przypisanie zdarzenia w JS jest złe?

Głównie dlatego, że mieszamy kod JavaScript z HTML. Zapewne zadziała Ci to jak trzeba, ale tak się już po prostu nie powinno robić. Teraz jest addEventListener.

komentarz 7 maja 2016 przez Filip31411 Dyskutant (8,820 p.)
Dziękuję bardzo za odpowiedzi :)
komentarz 17 maja 2016 przez Filip31411 Dyskutant (8,820 p.)
Jeszcze jedno: jak w addEventListener zdefiniować argumenty wywołanej funkcji?
komentarz 17 maja 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)
W samym addEventListener się nie da. Możesz zamiast funkcji do wywołania stworzyć tam anonimową funkcję, która wywoła tą właściwą z argumentami. Możesz też przekazać to co chcesz w jakiś inny sposób, np. przez atrybut data do odpowiednich elementów.
komentarz 17 maja 2016 przez Filip31411 Dyskutant (8,820 p.)
Dobrze. Dziękuję :)
+1 głos
odpowiedź 7 maja 2016 przez HaKIM Szeryf (87,590 p.)
Możesz użyć: echo "{$zmienna}"; Można w nich zamieszczać zmienne, ale w id="" będziesz musiał dodawać: id=\"przecisk\".

Może być bez {}, czyli: "$zmienna", ale jest to po to, abyś mógł szybciej dojrzeć co jest czym. :)

~ https://php-kurs.gitbooks.io/phpkurs/content/czesc-i/Zmienne/zmienne.html

- - - - -

Nie przeczytałem całości. ;_;

Anyway, użyj \ przed "", ''.

Podobne pytania

+1 głos
2 odpowiedzi 398 wizyt
pytanie zadane 21 października 2021 w C# przez Kamirru9 Początkujący (300 p.)
0 głosów
2 odpowiedzi 262 wizyt
pytanie zadane 19 lipca 2018 w C# przez MsMaciek123 Pasjonat (24,760 p.)
0 głosów
1 odpowiedź 438 wizyt
pytanie zadane 5 maja 2018 w PHP przez Hellgrush Nowicjusz (230 p.)

92,576 zapytań

141,426 odpowiedzi

319,651 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...