Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]Problem z dynamicznym generowaniem formularza
sebap123
post
Post #1





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Witam
Od niedawna tworzę coś w JavaScript i dlatego postanowiłem umieścić ten problem tutaj, ale nie wiem czy należy on do błędów podstawowych. Ale do rzeczy.
Znalazłem w necie dosyć prostą instrukcję, a raczej gotowy skrypt, który przy zmianie wybranej opcji pola typu select pobiera z bazy danych dane na ten temat i wyświetla bez przeładowania na stronie.
Mi jest potrzebny podobny skrypt, jednak ten ma pod wpływem wyboru w jednym polu select pobrać dane z tablicy i umieścić je jako opcje w drugim polu select. Trochę już nad tym siedzę, dlatego postanowiłem tutaj spytać się co może robię źle.
Oto całość:
index.html
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <script type="text/javascript">
  5. function showColor(nr)
  6. {
  7. if(window.XMLHttpRequest){
  8. xmlhttp = new XMLHttpRequest();
  9. }
  10. else{
  11. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  12. }
  13. xmlhttp = new onreadystatechange = function()
  14. {
  15. if(xmlhttp.readyState==4 && xmlhttp.status==200){
  16. document.getElementById("selector_c").innerHTML=xmlhttp.responseText;
  17. }
  18. }
  19. xmlhttp.open("GET","getproduct.php?pr="+nr,true);
  20. xmlhttp.send();
  21. }
  22. <title>Untitled Document</title>
  23. </head>
  24.  
  25. <div class="selector2">
  26. <label for="rozmiar">rozmiar:</label>
  27. <select name="rozmiar" id="selector_r" onchange="showColor(this.value)">
  28. <option value="0"></option>
  29. <option value="1">czarny</option>
  30. <option value="2">marka1</option>
  31. </select>
  32. </div>
  33.  
  34. <div class="selector2">
  35. <label for="kolor">kolor:</label>
  36. <select name="color" id="selector_c">
  37. <option value=""></option>
  38. </select>
  39. </div>
  40. </body>
  41. </html>

getproduct.php
  1. <?
  2. include('engine/config.php');
  3. $p=$_GET['pr'];
  4. echo'<option value="1">nowy</option>';
  5. $sql=mysql_query("SELECT FROM colors WHERE id='".$p."'");
  6. if(mysql_fetch_array($sql)==1){
  7. $size=mysql_fetch_array($sql);
  8. {
  9. echo'<option value="'.$size['s_id'].'">'.$size['size'].'</option>';
  10. }
  11. else{
  12. <option value=""></option>
  13. <option value="1">r</option>
  14. <option value="2">rodzaj1</option>';
  15. }
  16. ?>

Oba pliki są na tym samym poziomie.
Możliwe, że jest to jakiś głupi błąd, ale ja jakoś patrzę i nic nie widzę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sebap123
post
Post #2





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Dzięki wielkie. Teraz już działa. A teraz powiedz mi jeszcze jedno, czy jak chcę mieć jakiś efekt (np. rozsuwanie się tekstu czy jakiś błysk, no cokolwiek) to wtedy muszę użyć jQuery, czy sam też mogę coś takiego napisać?
Dobra może średnio dobrze zadane pytanie. Chodzi mi o to, czy napisanie własnych takich efektów jest rzeczą trudną, czy bardzo trudną (może lepiej będzie użyć słowa - pracochłonną.)
Po drugie, czy jest jakaś różnica, jeśli ten skrypt umieszczę nie bezpośrednio w kodzie, tylko przez dopisanie

<script type="text/javascript" src="ścieżka_do_skryptu"></script>

No i jeśli jeszcze mogę się spytać o coś, to powiedz mi czy mogę podobny kod umieścić w pliku o rozszerzeniu php a nie html jak teraz zrobiłem?

A co do konsoli błędów i firebuga, to muszę powiedzieć, że słyszałem już takie rady, ale ja używam Chrome i średnio nawet wiem, czy coś takiego już jest dla Chrome. Tak więc jakby ktoś miał jakieś info co do tego to będę wdzięczny.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 08:13