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

Tekst php w funkcji javascript

Object Storage Arubacloud
+3 głosów
123 wizyt
pytanie zadane 18 stycznia w PHP przez Iei Obywatel (1,950 p.)

Czy jest możliwe, żeby tekst z php został wstawiony w miejsce, które wskaże javascriptowa metoda

document.getElementById()

? Chciałbym, żeby w miejsce diva o id container po kliknięciu buttona został wstawiony tekst "Something", ale żeby pochodził on z php a nie javascriptu. W konsoli narzędzi developerskich wypisuje mi błąd

Uncaught ReferenceError: Something is not defined

A to cały kod:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My site</title>
</head>
<body>
<div id="container">Text</div>
<button id="btn1" onclick="func()">Click me</button>
<script>function func() {
document.getElementById('container').innerHTML = <?php echo "Something"; ?>;
}
</script>    
</body>
</html>

 

2 odpowiedzi

+3 głosów
odpowiedź 18 stycznia przez Comandeer Guru (601,590 p.)
wybrane 18 stycznia przez Iei
 
Najlepsza

Zobacz, co dostaje przeglądarka po wykonaniu się kodu PHP:

document.getElementById('container').innerHTML = Something;

Brakuje cudzysłowów/apostrofów wokół tekstu wstawianego przez PHP:

document.getElementById('container').innerHTML = '<?php echo "Something"; ?>';

Trzeba tylko uważać na cudzysłowy i apostrofy wewnątrz tekstu generowanego przez PHP, bo inaczej skończymy z błędami składniowymi w JS-ie. Wypada więc dobrać taki rodzaj cudzysłowu w JS-ie, żeby mieć pewność, że nic się nie sypnie (` – template string – może być dobrym wyborem).

komentarz 20 stycznia przez Piotrek2713 Mądrala (5,400 p.)
Ogólnie kod php może się znajdować w dowolnym miejscu w kodzie html. Sam nawet pobierałem dane z bazy i wstawiałem je jako wlaściwości za pomocą php
+2 głosów
odpowiedź 18 stycznia przez VBService Ekspert (253,420 p.)

Podam jako ciekawostkę, że tekst "Something", możesz też "pobrać" w momencie kliknięcia za pomocą ajax-a (fetch)

<!DOCTYPE html>
<html lang="pl">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My site</title>
  </head>
  <body>
    <div id="container">Text</div>
    <button id="btn1">Click me</button>
    <script>
      document.getElementById('btn1').addEventListener('click', function() {
        fetch('twoj_plik_.php')
          .then(response => response.text())
          .then(data => {
            document.getElementById('container').innerHTML = data;
          })
          .catch(error => console.error('Error:', error));
      });
    </script>
  </body>
</html>

lub

<!DOCTYPE html>
<html lang="pl">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My site</title>
  </head>
  <body>
    <div id="container">Text</div>
    <button id="btn1">Click me</button>

    <script>
      const btn = document.querySelector('#btn1');
      btn.addEventListener('click', showText);

      async function showText() {
        const container = document.querySelector('#container');

        try {
           const response = await fetch('twoj_plik_.php');
           if (!response.ok)
             throw new Error(`HTTP error! Status: ${response.status}`);

           container.innerHTML = await response.text();
        } catch (error) {
           console.error('Error:', error);
        }
      }
    </script>
  </body>
</html>
<?php
  // twoj_plik_.php
  // plik uproszczony maksymalnie na potrzeby demonstracji :-)
  echo 'Somethink';
?>

 

Podobne pytania

0 głosów
1 odpowiedź 1,089 wizyt
pytanie zadane 27 lutego 2018 w PHP przez Gal Anonim Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 77 wizyt
0 głosów
1 odpowiedź 3,693 wizyt

92,584 zapytań

141,434 odpowiedzi

319,669 komentarzy

61,967 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!

...