Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pole hidden i przenoszenie do niego wartosci
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Lynn
Moj problem polega na tym, ze mam pole slect, ktoro jest wypelniane w nast sposob:
  1. // fcja ktora w zaleznosci od statusu checkboxa wyswietla odp opcje
  2. function sprawdz1() {
  3.  
  4. var tab_intra_naz1 = new Array("intra 15","intra 30","intra 60");
  5. var tab_intra_val1 = new Array("15","30","60");
  6.  
  7. var tab_inne_naz1 = new Array("10 dni","30 dni","90 dni","pol roku","rok");
  8. var tab_inne_val1 = new Array("10","30","90","180","365");
  9.  
  10. if(document.getElementById("intra1").checked)
  11. {
  12. for (i=0;i<3;i++) {
  13. document.getElementById("okr1").options[i]= new Option (tab_intra_naz1[i], tab_intra_val1[i]);
  14. }
  15. }
  16. else if (!document.getElementById("intra1").checked){
  17. for (i=0; i<5;i++){
  18. document.getElementById("okr1").options[i]= new Option (tab_inne_naz1[i], tab_inne_val1[i]);
  19. }
  20. }
  21. }




i ono znajduje sie w jednym formie, naotmiast potrzebuje aby wybrana wartosc z tego select'a poszla do drugiego forma, ktory jest pod spodem. Mianowicie zrobilam w tym formie pole <input type hidden value=? i tu mam problem, jak wstawic ta wartosc wybrana w selectcie?

  1. // html do tego selecta <td><select name="okr1" id="okr1" class="t" >
  2. </select></td>
siemakuba
zakładając, że input hidden do którego chcesz wstawić wartość wygląda tak:
  1. <input type="hidden" name="hidden_value" id="hidden_value" value="">


w selectcie dodajesz zdarzenie onchange, które przypisze wartość do ukrytego inputa:
  1. <select onchange="document.getElementById('hidden_value').value=this.value">

bardziej elegancko byłoby napisać sobie do tego funkcję, która pozwoli ci w łatwy sposób używać tego w wielu miejscach, ale z tym sobie poradzisz :)

pozdr.
Lynn
zrobilam tak:
  1. <?php
  2. <td>intra <input type="Checkbox" name="intra1" value="intra1" id="intra1" onclick="java script:sprawdz1();">
  3. </td>
  4. <script language="JavaScript" type="text/javascript">
  5. // fcja ktora w zaleznosci od statusu checkbox'a wyswietla odp opcje
  6. function sprawdz1() {
  7.  
  8. var tab_intra_naz1 = new Array("intra 15","intra 30","intra 60");
  9. var tab_intra_val1 = new Array("15","30","60");
  10.  
  11. var tab_inne_naz1 = new Array("10 dni","30 dni","90 dni","pol roku","rok");
  12. var tab_inne_val1 = new Array("10","30","90","180","365");
  13.  
  14. if(document.getElementById("intra1").checked) 
  15. {
  16. for (i=0;i<3;i++) {
  17. document.getElementById("okr1").options[i]= new Option (tab_intra_naz1[i], tab_intra_val1[i]); 
  18. }
  19. }
  20. else if (!document.getElementById("intra1").checked){
  21. for (i=0; i<5;i++){
  22. document.getElementById("okr1").options[i]= new Option (tab_inne_naz1[i], tab_inne_val1[i]); 
  23. }
  24. }
  25. }
  26. </script>
  27. <td><select name="okr1" id="okr1" class="t" onchange="document.getElementById('okr11').value=this.value">
  28. </select></td>
  29.  
  30. <form name="wyk" method="get">
  31. <INPUT type="Hidden" name="okr11" id="okr11" value="">
  32. ?>


i nie chce mi dzialac, czy ja cos robie nie tak?
siemakuba
hej,
w kodzie, który podałaś nie widzę zastosowania dla onchange, które polecałem wcześniej, ale to chyba dlatego, że nie do końca się zrozumieliśmu :) Więc, po pierwsze to wylatuje.

Po drugie, zmieniamy dodawanie kolejnych OPTION tak:
Kod
document.getElementById("okr1").options[i] = new Option;
document.getElementById("okr1").options[i].text = tab_intra_naz1[i];
document.getElementById("okr1").options[i].value = tab_intra_val1[i];

w takiej konfiguracji działa zmiana wartości OPTION zależnie od stanu checkboxa.

PS. jeżeli wywołujemy funkcję / kod JavasScript przez zdarzenie zapisane jako atrybut nie używamy java script:, należałoby więc zmienić jeszcze onlick="java script:sprawdz()1" na onclick="sprawdz1()"

pozdr.
Lynn
nie chce zaczynac nowego tematu bo nie ma po co, ale jezeli ktos bedzie tak uprzejmy to czy moze mi powiedziec jak na jednej str jsp, przekazwyac sobie dane ze skryptu js do wnetrza jsp czyli z tad <script></script> do tego <%%>;
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.