Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: okno w js, a php
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
rysy
znalazłam w wielu odpowiedziach na forum stwierdzenie, że gdy javascript zaczyna działać php dawno już skończyło swoją robotę. Moja sytuacja jest taka:

na stronie pojawiają mi sie pytania, do których są lub nie podpowiedzi. Jeśli jest podpowiedź pod pytaniem pojawia sie przycisk, dzieki ktoremu pojawia sie okienko alert z podpowiedzią. Problem jest w tym , że nie wiem co zrobić zeby po wysłaniu testu do sprawdzenia, mieć informacje do ktorych pytań została użyta przez usera podpowiedź(bo musze za to odejmować punkty).

Zrobiłam to w taki sposób:
  1. <?php
  2.  
  3. global $pomoc;
  4. $pomoc = array(0,0,0,0,0,0,0,0,0,0);
  5. .
  6. .
  7. .
  8. <INPUT TYPE=Button VALUE=podpowiedz onClick="if(alert(' $help' )){'$pomoc[$j]=1;'}"/>;
  9.  
  10. ?>


zmienna $help zawiera podpowiedź, a $j jest numerem pytania

w każdym razie gdy przy przetwarzaniu testu chcę wykorzystać $pomoc[$j], to tak jakby była pusta.
Może ktoś znajdzie troche czasu żeby na to zerknąć.

Pozdrawiam
gulldarek
  1. ?>
  2.  
  3. <INPUT TYPE=Button VALUE=podpowiedz onClick="<? if ($help) { echo "alert('" . $pomoc[$j] . "')"; } ?>"/>;
  4.  
  5. <?php
  6. ?>
rysy
nie o to mi chodzilo, bo to czy podpowiedz istnieje sprawdzam wczesniej.
A w onclick potrzebuje, żeby bo nacisnieciu guzika w tablicy w odpowiednim miejscu , czyli $pomoc[$j] została wpisana wartość 1.

Może znajdziecie jeszcze troche czasu, żeby na to zerknąć, co?

pozdrawiam
revyag
W pierwszym poście jest odpowiedź na Twoje pytanie.
Najpierw wykonywane jest to co postronie serwera, a potem to co po stronie przeglądarki. Więc nie przypiszesz nic do zmiennej php na podstawie warunku js.
Poza tym co to za warunek questionmark.gif if(alert(..)) ? alert nic nie zwraca, jeśli już to możesz użyć confirm.
Kod
if(confirm("ready?")) {
  //jakaś akcja
} else {
  //jakaś akcja
}

Zakładam że jeśli user odpowiada na pytania to po ich wysłaniu potrafisz go zidentyfikować. Więc może dodaj ukryte pole hidden którego name i id to będą np.
user_id_nr_pyt. I przy wybraniu podpowiedzi wypełniaj to pole wartością 1. A po wysłaniu formularza tą wartość pobierzesz z tablicy $_POST.
Tablicę z podpowiedziami generujesz jako tablicę js z poziomu php. Może tam sobie wstawić co chcesz np. coś z bazy danych.
Kod
<script type="text/javascript">
<?php echo 'hints = Array("hint1","hint2","hint3")'; ?>
function showhint(hint) {
    alert(hint);
    document.getElementById("user_id_nr_pyt").value=1;
}
</script>

  1. <input value="answer" type="button" onclick="showhint(hints[1])" /><br />
  2. <input type="hidden" id="user_id_nr_pyt" name="user_id_nr_pyt" value="" />
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.