Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS][HTML] formularz
Forum PHP.pl > Forum > Przedszkole
sepuku
Witajcie,

mam 2 selecty, zeby uniknac przeladowania strony usunelem ramy form, dodalem przycis z akcja wykanania funkcji js na selectach. Pojawia sie problem, ze w czasie gdy usuniete sa ramy form, dzieja sie dziwne rzeczy - jak brak wartosci value w drugim co do kolejnosci select. Problem znika jak dodam tagi form, ale strona sie przeladowuje i trace operacje wykonane na selectach. Ja to zrobic by wykonac funkcje JS na selectach w podany sposob i nie stracic rezultatu na selectach?
Ar2r
Zastosuj jako przycisk <button type='button'></button>
sepuku
Dziekuje bardzo, wskazowka pomogla.
sepuku
Tak zaprojektowany przycisk nie wysyla formularza, lecz pojawily sie problemy i mysle, ze leza po stronie samego js, 2 dzien juz przy tym siedze, by odnalezc bledy w rozumowaniu i nie moge dojsc do rozwiazania. Pozwolcie, ze podam caly testowy kod, ktory wg mnie powinien dzialac. Zasada dzialania jest dodanie z lewego selecta do prawego takich pol, ktorych value sie rozni. Rowniez juz po dodaniu elementu powtorne jego dodanie nie jest mozliwe. Dodajemy przyciskiem.

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2.  
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  4. <script type="text/javascript">
  5. function in_array(co, w_czym)
  6. {
  7. var len = w_czym.length;
  8. for (var x = 0; x <= len; x++)
  9. {
  10. if (w_czym[x].value == co) { return true; }
  11. }
  12. return false;
  13. }
  14.  
  15. function zamiana()
  16. {
  17. var dane = document.getElementById('pierwszy');
  18. for(var i = 0; i < dane.options.length; i++)
  19. {
  20. var opcja = dane.options[i];
  21. if(opcja.selected)
  22. {
  23. var tmp = document.getElementById('drugi').options;
  24. if (!in_array(opcja.value, tmp))
  25. {
  26. var dlu = tmp.length;
  27. document.getElementById('drugi').options[dlu] = new Option(opcja.text, opcja.value);
  28. }
  29. }
  30. }
  31. }
  32. </head>
  33.  
  34. <select id="pierwszy" size="20" multiple style="width: 150px;">
  35. <option value="1">kolory</option>
  36. <option value="2">rozmiar</option>
  37. <option value="3">kolasdfory</option>
  38. <option value="4">rozsadfmiar</option>
  39. <option value="5">aakolory</option>
  40. <option value="6">aarozmiar</option>
  41. <select id="drugi" size="20" multiple style="width: 150px;">
  42. <option value="4">kolory</option>
  43. <option value="5">rozmiar</option>
  44. <option value="6">kolasdfory</option>
  45. <option value="7">rozsadfmiar</option>
  46. <option value="8">aakolory</option>
  47. <option value="9">aarozmiar</option>
  48. <button type='button' onClick="zamiana();">asdf</button>
  49.  
  50. </form>
  51.  
  52. </body>
  53.  
  54. </html>


Prosty kod, lecz gdzies jest jakis kruczek.
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.