Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Zmienna PHP w pliku JS
Forum PHP.pl > Forum > Przedszkole
Gray
Hej,
posiadam plik java.js wczytywany do pliku index.php. W pliku index.php posiadam zmienne na przykład: $zmienna1 $zmienna2

w pliku java.js posiadam taki kod:

  1. var nazwa = 'tutaj_wpisana_nazwa';


chciał bym w miejsce "tutaj_wpisana_nazwa" wstawiać podane przeze mnie zmienne, moje pytanie jak to zrobić?

Pozdrawiam.
webmaniak
Dosłownie przed chwilą analizowałem kod js z innego tematu i właśnie sam kombinowałem jak to zrobić, doszedłem do takiego wnioski:
  1. var kod = '<?php echo 'tekst';?>';

lub
  1. <?php $cos='php';?>
  2. <script...>
  3. var kod = '<?php echo $cos;?>';
  4. </script>
  5.  

Oba przykłady działają, ale nie wiem na ile są zgodne ze standardami js bo nie znam tego jezyka, niestety.
Gray
być może to działa jeśli jest to robione w skrypcie JS umieszczonym w pliku.php jednak mój skrypt JS jest w pliku.js i tylko implementowany w ten sposób <script src="js/plik.js"></script>

kiedy wstawiłem tam zmienną w taki sposób jak Ty po prostu mi ją wyświetliło, tzn. nie jej wartość tylko nazwę zmiennej.
lukesh
Zamiast linkować do skryptu JS poprzez atrybut src w tagu <script>, skorzystaj z PHP i wstaw kod bezpośrednio do strony:

  1. echo '<scirpt>';
  2. include('script.js');
  3. echo '</script>';
Gray
też nie działa tzn. wyświetla mi zawartość plik.js na stronie...
Kostek.88
Ja to robiłem inaczej: jeśli to był formularz, wstawiałem pole hidden

kod PHP:
  1. <form action="" method="post">
  2. <input type="hidden" name="zmienna" value="<?=$wartosc?>" />
  3. </form>


A potem dawałem w JS:
[JAVASCRIPT] pobierz, plaintext
  1. var zmienna = $('input[name=zmienna]').val();
[JAVASCRIPT] pobierz, plaintext


W czystym JS to chyba idzie jakoś tak:

[JAVASCRIPT] pobierz, plaintext
  1. var zmienna = document.getElementsByName('zmienna'); /* z tego zrobi Ci tablicę, z tego co pamiętam */
  2. zmienna = zmienna[0];
[JAVASCRIPT] pobierz, plaintext


Zaznaczam, że w czystym JS mogłem się walnąć.

Oczywiście nic nie stoi na przeszkodzie, żebyś zmienne poupychał do innych elementów HTML i może ustawił visibility: hidden - troszkę prowizoryczne rozwiązanie, ale na ten moment nic innego nie przychodzi mi do głowy.

EDIT: oczywiście możesz zmienić na serwie, żeby parsował Ci też pliki JS, ale nie ma to większego sensu tongue.gif
Puszy
zmień nazwę pliku .js na .php

np funkcje_js.php

w tym pliku wstaw header

  1. <?php
  2. header("Content-type: application/x-javascript");
  3. ?>
  4.  
  5. kod JavaScript
  6. .
  7. .
  8. .
  9.  


a w głównym pliku wstaw po prostu:
  1. <script type="text/javascript" src="http://localhost/js.php"></script>



z kolei gdy chcesz w pliku funkcje_js wstawić wartość PHP użyj zwykłego echo albo print:
  1. <?php
  2. header("Content-type: application/x-javascript");
  3. ?>
  4.  
  5. function jakas_funkcja(parametr){
  6. document.getElementById(parametr).innerHTML = "<?php echo $_GET['para_1']; ?>";
  7. }
  8.  
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.