![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Póki co nikt mi nie pomógł
Mam problem z przekazaniem dalej wartości funkcji laduj, które to trafiają do dwóch pól o identyfikatorach data_min i data_max. Po wybraniu opcji w select dane ładują się do tych inputów . Następnie powinny trafić do zmiennej data_s . Czemu mi to nie działa ? Kod <script type="text/javascript"> data_s = document.forms["kontener"].elements["data_max"].value; if (data_s != null ){ alert("data s się załadowała"); } </script> Kod </form>
</div> <form id="kontener" action="<?$_SERVER[PHP_SELF]?>" method="post"> <input type="text" id="data_min" name="data_min" value=""/> <input type="text" id="data_max" name="data_max" value=""/> </form> <form action="<?$_SERVER[PHP_SELF]?>" method="post"> <select id="btn2" name="dane1" onChange="loaduj( '2011, 01, 01', '2011, 01, 31');"> <option value="10">10</option> <option value="20">20</option> <option value="30">30</option> </select> </form> <script type="text/javascript"> function loaduj(data_min , data_max){ document.forms["kontener"].elements["data_min"].value = data_min; document.forms["kontener"].elements["data_max"].value = data_max; } </script> Ten post edytował fiasko 3.02.2011, 17:06:26 |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kod if(document.getElementById('data_max').value!="")alert("data s się załadowała"); coś takiego nie zadziała. Zmienną mam zadeklarowaną gdzieś indziej - ten kod dałem w uproszeniu, ale masz racje tu zapomniałem zadeklarować tej zmiennej . Deklaracja globalna też nic nie da. kod jest oczywiście w uproszeniu bo muszę tak naprawdę przekazać te dane do kalendarza. Zobacz sam : Kod <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta> <script type="text/javascript"> if(document.getElementById('data_max').value!=""){ alert("data s się załadowała"); } </script> </head> </head> <body> <form action="<?$_SERVER[PHP_SELF]?>" method="post"> <select id="btn2" name="dane1" onChange="loaduj( '2011, 01, 01', '2011, 01, 31');"> <option value="10">10</option> <option value="20">20</option> <option value="30">30</option> </select> </form> <script type="text/javascript"> function loaduj(data_min , data_max){ document.forms["kontener"].elements["data_min"].value = data_min; document.forms["kontener"].elements["data_max"].value = data_max; } </script> <form id="kontener" action="<?$_SERVER[PHP_SELF]?>" method="post"> <input type="text" id="data_min" name="data_min" value=""/> <input type="text" id="data_max" name="data_max" value=""/> </form> </body> </html> W tym czasie jak sprawdzam to pole jest puste. Więc jak ma się pokazać alert ? Dane są przesyłane asynchronicznie i tu należy szukać rozwiązania. Cały kod kalendarza widać jak na dłoni . Jak więc mam w nim przeładować asynchronicznie zakres dat ? każda zmiana onselect lub onload wywołuje funkcję z nowym zakresem dat w zależności od tego w jakiej pozycji jest select . Te dane trafiają w te pola. Kalendarz ich nie uwzględnia przy uruchamianiu w zakresie dat . (IMG:style_emoticons/default/arrowheadsmiley.png) Ten post edytował fiasko 4.02.2011, 02:04:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 19:30 |