Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML]Problem z dynamicznym SELECTem
Forum PHP.pl > Forum > Przedszkole
Ulysess
witam , wykorzystałem gotowe rozwiązanie lecz z niewiadomych mi przyczyn nie działa i nigdzie się nie dopatrzyłem błędu..
chodzi o to że chcę wybrać nacje / profesje i w div nacje / profesja miały by się pojawić jakieś dane lecz niestety to nie działa...

  1. <script type="text/javascript">
  2. function option1(s)
  3. {
  4. if(s.value==1)
  5. nacja.innerHTML = '<span>Siła 5%</span><br/><span>Atak 5%</span><br/><span>Życie 5%</span><br/><span>Obrona 0%</span><br/><span>Charyzma 5%</span><br/><span>Zwinność 5%</span><br/>';
  6. else if(s.value==2)
  7. nacja.innerHTML = '<span>Siła 10%</span><br/><span>Atak 0%</span><br/><span>Życie 0%</span><br/><span>Obrona 0%</span><br/><span>Charyzma 5%</span><br/><span>Zwinność 10%</span><br/>';
  8. else if(s.value==3)
  9. nacja.innerHTML = '<span>Siła 0%</span><br/><span>Atak 0%</span><br/><span>Życie 5%</span><br/><span>Obrona 5%</span><br/><span>Charyzma 10%</span><br/><span>Zwinność 5%</span><br/>';
  10. else if(s.value==4)
  11. nacja.innerHTML = '<span>Siła 10%</span><br/><span>Atak 5%</span><br/><span>Życie 5%</span><br/><span>Obrona 5%</span><br/><span>Charyzma 0%</span><br/><span>Zwinność 0%</span><br/>';
  12. else if(s.value==5)
  13. nacja.innerHTML = '<span>Siła 10%</span><br/><span>Atak 0%</span><br/><span>Życie 10%</span><br/><span>Obrona 5%</span><br/><span>Charyzma 0%</span><br/><span>Zwinność 0%</span><br/>';
  14. }
  15.  
  16. function option2(d)
  17. {
  18. if(d.value==1)
  19. profesja.innerHTML = '<span>Siła 0%</span><br/><span>Atak 5%</span><br/><span>Życie 5%</span><br/><span>Obrona 0%</span><br/><span>Charyzma 5%</span><br/><span>Zwinność 10%</span><br/>';
  20. else if(d.value==2)
  21. profesja.innerHTML = '<span>Siła 15%</span><br/><span>Atak 10%</span><br/><span>Życie 0%</span><br/><span>Obrona 0%</span><br/><span>Charyzma 0%</span><br/><span>Zwinność 0%</span><br/>';
  22. else if(d.value==3)
  23. profesja.innerHTML = '<span>Siła 0%</span><br/><span>Atak 15%</span><br/><span>Życie 0%</span><br/><span>Obrona 0%</span><br/><span>Charyzma 0%</span><br/><span>Zwinność 10%</span><br/>';
  24. else if(d.value==4)
  25. profesja.innerHTML = '<span>Siła 10%</span><br/><span>Atak 5%</span><br/><span>Życie 5%</span><br/><span>Obrona 5%</span><br/><span>Charyzma 0%</span><br/><span>Zwinność 0%</span><br/>';
  26. else if(d.value==5)
  27. profesja.innerHTML = '<span>Siła 0%</span><br/><span>Atak 0%</span><br/><span>Życie 5%</span><br/><span>Obrona 0%</span><br/><span>Charyzma 10%</span><br/><span>Zwinność 10%</span><br/>';
  28. }
  29.  
  30. <div class="registration">
  31.  
  32. <div style="float: left; width: 50%; border: 0px solid red;">
  33. <form action="rejestracja&amp;weryfikacja=1.html" method="POST">
  34. <table style="margin-left: 20px; width: 100%;">
  35. <tr>
  36. <td class="alpha"><span class="bold">ID Polecającego:</span><td>
  37. <td class="alpha" align="center"><input class="main" onkeyup="this.value=this.value.replace(/\D/g,'')" name="poleca" maxlength="8" value="<?php echo $_SESSION['poleca'];?>" size="26" tabindex="1"/><td>
  38. </tr>
  39. <tr>
  40. <td class="alpha"><span class="bold">Login:</span><td>
  41. <td class="alpha" align="center"><input class="main" name="login" maxlength="20" value="<?php echo $_SESSION['login'];?>" size="26" tabindex="2"/><td>
  42. </tr>
  43. <tr>
  44. <td class="alpha"><span class="bold">Nazwa Postaci:</span><td>
  45. <td class="alpha" align="center"><input class="main" name="nick" maxlength="40" value="<?php echo $_SESSION['nick'];?>" size="26" tabindex="3"/><td>
  46. </tr>
  47. <tr>
  48. <td class="alpha"><span class="bold">Nacja:</span><td>
  49. <td class="alpha" align="center">
  50. <select class="main" name="nacja" onchange="option1(this)" tabindex="4">
  51. <option value="1">Człowiek</option>
  52. <option value="2">Elf</option>
  53. <option value="3">Niziołek</option>
  54. <option value="4">Troll</option>
  55. <option value="5">Ork</option>
  56. </select>
  57. <td>
  58. </tr>
  59. <tr>
  60. <td class="alpha"><span class="bold">Profesja:</span><td>
  61. <td class="alpha" align="center">
  62. <select class="main" name="profesja" onchange="option2(this)" tabindex="5">
  63. <option value="1">Myśliwy</option>
  64. <option value="2">Barbarzyńca</option>
  65. <option value="3">Zabójca</option>
  66. <option value="4">Wojownik</option>
  67. <option value="5">Złodziej</option>
  68. </select>
  69. <td>
  70. </tr>
  71. <tr>
  72. <td class="alpha"><span class="bold">Hasło:</span><td>
  73. <td class="alpha" align="center"><input class="main" name="haslo" type="password" maxlength="20" value="" size="26" tabindex="6"/><td>
  74. </tr>
  75. <tr>
  76. <td class="alpha"><span class="bold">Powtórz Hasło:</span><td>
  77. <td class="alpha" align="center"><input class="main" name="haslo2" type="password" maxlength="20" value="" size="26" tabindex="7"/><td>
  78. </tr>
  79. <tr>
  80. <td class="alpha"><span class="bold">Sekretne Pytanie:</span><td>
  81. <td class="alpha" align="center">
  82. <select class="main" name="pytanie" tabindex="8">
  83. <option value="1">Ulubiony piłkarz</option>
  84. <option value="2">Twoja ulubiona potrawa</option>
  85. <option value="3">Data urodzenia</option>
  86. <option value="4">Imię pierwszej miłości</option>
  87. <option value="5">Co robisz w wolnym czasie</option>
  88. </select>
  89. </td>
  90. </tr>
  91. <tr>
  92. <td class="alpha"><span class="bold">Odpowiedz:</span><td>
  93. <td class="alpha" align="center"><input class="main" name="pytanie_odpowiedz" maxlength="20" value="<?php echo $_SESSION['pytanie_odpowiedz'];?>" size="26" tabindex="9" /><td>
  94. </tr>
  95. <tr>
  96. <td class="alpha"><span class="bold">E-mail:</span><td>
  97. <td class="alpha" align="center"><input class="main" name="email" maxlength="40" value="<?php echo $_SESSION['email'];?>" size="26" tabindex="10" /><td>
  98. </tr>
  99. <tr>
  100. <td class="alpha"><span class="bold">Kod:</span><td>
  101. <td class="alpha" align="center"><img src="generator_kodu.php" /><td>
  102. </tr>
  103. <tr>
  104. <td class="alpha"><span class="bold">Przepisz Kod:</span><td>
  105. <td class="alpha" align="center"><input class="main" onkeyup="this.value=this.value.replace(/\D/g,'')" name="kod" maxlength="4" value="" size="26" tabindex="11" /><td>
  106. </tr>
  107. <tr>
  108. <td class="alpha"><span class="bold">Akceptacja Regulaminu Gry:</span><td>
  109. <td class="alpha" align="center"><input type="checkbox" name="regulamin" value="1" tabindex="12" /><td>
  110. </tr>
  111. <tr>
  112. <td class="alpha"><td>
  113. <td class="alpha" align="center"><input class="main" type="submit" value="Rejestruj" tabindex="13" /><td>
  114. </tr>
  115. </form>
  116. </div>
  117.  
  118. <div style="float: left; width: 45%; border: 0px solid red; margin-left: 15px;">
  119. <table style="width: 100%;">
  120. <tr align="center">
  121. <td class="name" width="50%">Nacja</td>
  122. <td class="name" width="50%">Profesja</td>
  123. </tr>
  124. <tr align="center">
  125. <td class="alpha"></td>
  126. <td class="alpha"></td>
  127. </tr>
  128.  
  129. <div id="nacja">a</div>
  130. <div id="profesja">b</div>
  131.  
  132. </div>
  133.  
  134.  
  135. </div>
benio101
  1. <script type="text/javascript">
  2. function option1(s)
  3. {
  4. if(document.getElementById(s).value==1)
  5. document.getElementById(s).innerHTML = '<span>Siła 5%</span><br/><span>Atak 5%</span><br/><span>Życie 5%</span><br/><span>Obrona 0%</span><br/><span>Charyzma 5%</span><br/><span>Zwinność 5%</span><br/>';
  6. if(document.getElementById(s).value==2)
  7. document.getElementById(s).innerHTML = '<span>Siła 10%</span><br/><span>Atak 0%</span><br/><span>Życie 0%</span><br/><span>Obrona 0%</span><br/><span>Charyzma 5%</span><br/><span>Zwinność 10%</span><br/>';
  8. if(document.getElementById(s).value==3)
  9. document.getElementById(s).innerHTML = '<span>Siła 0%</span><br/><span>Atak 0%</span><br/><span>Życie 5%</span><br/><span>Obrona 5%</span><br/><span>Charyzma 10%</span><br/><span>Zwinność 5%</span><br/>';
  10. if(document.getElementById(s).value==4)
  11. document.getElementById(s).innerHTML = '<span>Siła 10%</span><br/><span>Atak 5%</span><br/><span>Życie 5%</span><br/><span>Obrona 5%</span><br/><span>Charyzma 0%</span><br/><span>Zwinność 0%</span><br/>';
  12. if(document.getElementById(s).value==5)
  13. document.getElementById(s).innerHTML = '<span>Siła 10%</span><br/><span>Atak 0%</span><br/><span>Życie 10%</span><br/><span>Obrona 5%</span><br/><span>Charyzma 0%</span><br/><span>Zwinność 0%</span><br/>';
  14. }
  1. <tr>
  2. <td class="alpha"><span class="bold">Nacja:</span><td>
  3. <td class="alpha" align="center">
  4. <select class="main" id="nacja" name="nacja" onchange="option1('nacja')" tabindex="4">
  5. <option value="1">Człowiek</option>
  6. <option value="2">Elf</option>
  7. <option value="3">Niziołek</option>
  8. <option value="4">Troll</option>
  9. <option value="5">Ork</option>
  10. </select>
  11. <td>
  12. </tr>

Działa?
Ulysess
hmm nie , dodatkowo ustawiłem id diva na s bo wydaje mi się że tak powinien się nazywać w Twoim rozwiązaniu..
benio101
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <title>New document</title>
  3. <meta name="generator" content="TSW WebCoder">
  4. <script type="text/javascript">
  5. function option1(s,s1)
  6. {
  7. if(document.getElementById(s).value==1)
  8. document.getElementById(s1).innerHTML = '<span>Siła 5%</span><br/><span>Atak 5%</span><br/><span>Życie 5%</span><br/><span>Obrona 0%</span><br/><span>Charyzma 5%</span><br/><span>Zwinność 5%</span><br/>';
  9. if(document.getElementById(s).value==2)
  10. document.getElementById(s1).innerHTML = '<span>Siła 10%</span><br/><span>Atak 0%</span><br/><span>Życie 0%</span><br/><span>Obrona 0%</span><br/><span>Charyzma 5%</span><br/><span>Zwinność 10%</span><br/>';
  11. if(document.getElementById(s).value==3)
  12. document.getElementById(s1).innerHTML = '<span>Siła 0%</span><br/><span>Atak 0%</span><br/><span>Życie 5%</span><br/><span>Obrona 5%</span><br/><span>Charyzma 10%</span><br/><span>Zwinność 5%</span><br/>';
  13. if(document.getElementById(s).value==4)
  14. document.getElementById(s1).innerHTML = '<span>Siła 10%</span><br/><span>Atak 5%</span><br/><span>Życie 5%</span><br/><span>Obrona 5%</span><br/><span>Charyzma 0%</span><br/><span>Zwinność 0%</span><br/>';
  15. if(document.getElementById(s).value==5)
  16. document.getElementById(s1).innerHTML = '<span>Siła 10%</span><br/><span>Atak 0%</span><br/><span>Życie 10%</span><br/><span>Obrona 5%</span><br/><span>Charyzma 0%</span><br/><span>Zwinność 0%</span><br/>';
  17. }
  18. </head>
  19.  
  20. <tr>
  21. <td class="alpha"><span class="bold">Nacja:</span><td>
  22. <td class="alpha" align="center">
  23. <select class="main" id="nacja" name="nacja" onchange="option1('nacja','nacja_opis')" tabindex="4">
  24. <option value="1">Człowiek</option>
  25. <option value="2">Elf</option>
  26. <option value="3">Niziołek</option>
  27. <option value="4">Troll</option>
  28. <option value="5">Ork</option>
  29. </select>
  30. <p id="nacja_opis">
  31. <span>Siła 5%</span><br/><span>Atak 5%</span><br/><span>Życie 5%</span><br/><span>Obrona 0%</span><br/><span>Charyzma 5%</span><br/><span>Zwinność 5%</span><br/>
  32. </p>
  33. <td>
  34. </tr>
  35. </body>
  36. </html>


Gdy zmienisz innerHTML selectu, to Ci nie wyjdzie, innerHTML musi osnosić się do innego zbiornika, np. p, a, td itd itp.
Tutaj tkwił problem. Powyżej przykladowy fragment, który działa.
Jak to poprawić w Twoim kodzie, pomyśl sam.

P.S. Faktycznie, zapomniałem dodać id.
benio101
Zapomniałeś 2. argumentu...
popraw:
  1. function option1(a,s1)
  2. function option2(b,s2)

I jak? Działa?
Ulysess
właśnie sam się domyśliłem że tutaj źle zrobiłem , działa . wielkie dzięki smile.gif
benio101
Proszę bardzo medieval.gif
I również dziękuję, za pomarańczowe tełko specool.gif
Ulysess
kurde mam jeszcze taki problem że nie mogę tego ostylować :| próbuję <span class="bold"> nie działa <span class=\"bold\"> również :|
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.