Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript] Przekazanie kodu php w textarea
Forum PHP.pl > Forum > Przedszkole
zyluss
Witajcie, kolejny problem jaki wynikł z mojego kombinowania jest taki że przez 'textarea' chce przekazać kod php, wiem że sama nazwa wskazuje 'text', ale czy jest możliwość przekazania kodu php?

  1. <input type="button" value="Dodaj kolejne foty" onclick="dodaj()" />
  2. <script type="text/javascript">
  3. function dodaj()
  4. {
  5. var kontener = document.getElementById('blok');
  6. var stworzBlok = document.createElement('div');
  7. stworzBlok.innerHTML='<input name="fota1" class="span10" type="text" placeholder="Podaj adres url..."><textarea name="next" hidden="hidden"><table><tbody><tr><td><img src="<?php echo $_POST['fota1']; ?>" alt=""></td></tr></table></textarea>'
  8. kontener.appendChild(stworzBlok);
  9. }
  10. </script>


takie założenie że po kliknięciu 'dodaj', dodaje następne pole w którym można dodać kolejne zdjęcie, można dodać tylko jedno nie więcej ze względu na id odbierania, no i przekazanie tego kodu php

pozdrawiam
MiFlo
Nie do końca rozumiem co Chcesz zrobić ale zakładam że chcesz aby kod PHP miałby wykonać się po stronie klienta (przeglądarki), tu odpowiedź jest prosta - nie da się.
Skrypty PHP są uruchamiane na serwerze, generują one odpowiedź dla przeglądarki i na tym ich rola się kończy (tak w wielkim skrócie).

Jeżeli źle myślę, popraw mnie i napisz o co dokładnie chodzi.
patwoj98
Myślałem, że tylko ja nie wiem o co chodzi... smile.gif

Mi się wydaje, że ta zmienna jest wygenerowana i ją tylko wstawia, ale nie wiem bo kodu za mało. W ogóle co to za elementy tabelki?
zyluss
W skrócie to generator kodu html, którym poprzez formularz przekazuje dane za pomocą POST no i sytuacja jest taka że po kliknięciu na dodaj kolejne wyskakuje input w którym dodajemy adres url kolejnego obrazka, a w niewidocznym textarea jest tabelka która się dodaje już do wygenerowanego kodu no i właśnie POST z tego inputu o nazwie 'fota1'

Takie podwójne przekazanie POST - jedno z textarea o nazwie NEXT no i drugie będące wewnątrz tego textarea które się właśnie nie wykonuje o nazwie FOTA1

Może jest jakaś inna możliwość abym przekazał tą tabelkę wraz z tym inputem nie przez textarea ale prze coś (o czym właśnie nie wiem) co by mi wykonało ten <?php echo $_POST['fota1']; ?>

Pozdrawiam
aachi
Eval
com
aachi nie ważne czy pomogło by ale nie wink.gif a z tematu nic nie rozumiem
czychacz
Nic nie rozumiem, ale pobawię się we wróżbitę: poczytaj o AJAX i dynamicznym DOM.
zyluss
Po kolei:

Mam generator kodu HTML:



Aby dodać jeszcze foty po kliknięciu na przycisk "Dodaj kolejne foty1" dodaje:



Dwa inputy na linki do zdjęć oraz niewidzialne pole textarea w którym mam tabelkę która będzie bezpośrednio już w wygenerowanym kodzie szablonu ale chce ją dodawać z poziomu generatora bo jak wstawię ja od razu i będę przekazywać tylko zdjęcia to w wypadku gdy nie będzie potrzebna będzie rozciągnięty szablon z pustym polem

Dlatego w js po kliknięciu dodaje to:

  1. stworzBlok.innerHTML='
  2. // kod widoczny w generatorze z miejscem na kolejne zdjęcia //
  3. <input name="f1" class="span10" type="text" placeholder="Podaj adres url..."><br />
  4. <input name="f2" class="span10" type="text" placeholder="Podaj adres url..."><br />
  5.  
  6. // niewidzialne textarea dodające do szablonu tabelkę i kolejne zdjęcia //
  7. <textarea style="display:none;" name="next"><br><br>
  8. <table style="text-align: left; width: 100%; margin-left: auto; margin-right: auto;" border="0" cellpadding="0" cellspacing="0">
  9. <tbody>
  10. <tr>
  11. <td class="botgal" style="vertical-align: middle; text-align: center;">
  12. <img src="<?php echo $_POST[\'f1\']; ?>" alt="" style="width: 450px; height: 301px;"></td>
  13. <td class="botgal" style="vertical-align: middle; text-align: center;">
  14. <img style="width: 450px; height: 301px;" alt="" src="<?php echo $_POST[\'f2\']; ?>"></td>
  15. </tr>
  16. </tbody>
  17. </table>
  18. </textarea>'


I teraz w pliku php w którym mam szablon i przekazuję dane z formularza za pomocą POST mam tylko:

  1. <?php echo $_POST['next']; ?>


I w tym miejscu w szablonie wyświetla mi całą zawartość textarea, no ale w środku mam jeszcze do wstawienia te zdjęcie z inputu ale nie wyświetla linku do zdjęcia tylko <?php...

I moje pytanie brzmi czy mogę w jakiś inny sposób przekazać tą tabelkę wraz z zdjęciami?
Star
Wiesz nie bardzo rozumiem, ale nic dziwnego że wyświetla <?php, skoro wyświetlasz zmienna post której nigdzie nie wysyłasz, a jeśli chcesz odebrać dane z tej zmiennej PO WYSLANIU to bardzo łatwo jest to zrobić za pomocą AJAXa, smile.gif
zyluss
Nie no wysyłam i odbieram , input wyświetlany po kliknieciu wysyła a odbieranie jest w textarea, naprowadzisz w jaki sposób ajax może mi w tym pomóc?
Star
moze cos takiego ?:
  1. <html>
  2. <head>
  3. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
  4. </head>
  5. <body>
  6. Imie <input type="text" id="imie" ><br />
  7. Skad <input type="text" id="skad" ><br />
  8. <input type="submit" id="submit" ><br />
  9. <script>
  10. $('#submit').click(function()
  11. {
  12. var imie = $('#imie').val();
  13. var skad = $('#skad').val();
  14.  
  15. $.post(
  16. "test.php",
  17. {
  18. imie: imie,
  19. skad: skad
  20. },
  21. function(data)
  22. {
  23. alert(data);
  24. }
  25. );
  26. });
  27. </script>
  28. </body>
  29. </html>


plik test.php
  1. <?php
  2. echo "witaj {$_POST['imie']} z {$_POST['skad']}";
  3. ?>


to prosty przyklad , w data masz odebrany ze strony kod i mozesz go wykorzystac tak jak chcesz
zyluss
Wprowadziłem zmianę, niestety nic nie przyniosła, dalej wygenerowany kod wyrzuca <?php echo {$_POST['imie']} ?>

Jakieś pomysły jak inaczej to przekazać zamiast w textarea? Wydaje mi się że właśnie w tym tkwi problem, że wpisany ten kod po prostu się nie realizuje

Dzięki za dotychczasowe starania
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.