Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP w javascript
Forum PHP.pl > Forum > Po stronie przeglądarki
tabbi
Witam,

mam kod który realizuje mi dodawania nowych elementów do strony na klik. Jednak wymaga on umieszczenia tablicy w javascript i niestety php nie laduje się i wyświetla mi się pusty select. Oczywiście tablica jest zapełniona.
  1. $('#addMir').live('click', function() {
  2. var adresInput = "<input type='text' class='text-input small-input' name='mirrors["+ c +"][adres]' value=''>"
  3. var nameInput = "<input type='text' name='mirrors["+ c +"][name]' class='text-input small-input' value='' >";
  4. var selectInput = "<select name='mirrors["+ c +"][id_category]'><?php foreach($fileData['Nmirc'] as $cat){ ?><option value='<?=$cat[id]?>' ><?php echo $cat[category]; ?></option><?php } ?></select>";
  5. $('<p><label>Nazwa '+ nameInput +' </label><label> Adres mirrora '+ adresInput +' '+ selectInput +' </label></p>').appendTo(mirDiv);
  6. c++;
  7. return false;
  8. });


po wywolaniu #addMir powinny mi sie pojawic nowe 2 inputy z selectem jednak select pusty jest eh... Co robie nit tak ?
mortus
1. Zamień <?= na <?php.
2. Specyfikacja (X)HTML mówi, że wartości atrybutów tagów HTML mają być objęte cudzysłowami. Zatem nie:
[JAVASCRIPT] pobierz, plaintext
  1. var adresInput = "<input type='text' class='text-input small-input' name='mirrors["+ c +"][adres]' value=''>"
[JAVASCRIPT] pobierz, plaintext
a
[JAVASCRIPT] pobierz, plaintext
  1. var adresInput = "<input type=\"text\" class=\"text-input small-input\" name=\"mirrors["+ c +"][adres]\" value=\"\">"
[JAVASCRIPT] pobierz, plaintext

3. Jeśli nawet kod PHP wygeneruje Ci odpowiedni fragment HTML w skrypcie JS, to i tak powinieneś się zastanowić nad wykorzystaniem technologii AJAX, gdzie dopiero po kliknięciu w #addMir łączysz się z serwerem i pobierasz listę kategorii.
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.