![]() |
![]() |
![]() ![]()
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%) ![]() ![]() |
Ah . Nie wiesz w tym rzecz . U mnie dane są przesyłane asynchronicznie . W momencie wywołania zmiany on change odświeżane są dane przez Ajax. Czyli idzie zapytanie do bazy o nowy zakres dat. Zobacz w kod tu.
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"> $(document).ready(function() { $("#btn2").change(function () { var zakres_min = ''; var zakres_max = ''; zakres_min = new Date($("#data_min").val()); zakres_max = new Date($("#data_max").val()); alert("zakres min "+zakres_min+" ||| zakres max "+zakres_max); }).change(); }); </script> </head> </head> <body> <form action="<?$_SERVER[PHP_SELF]?>" method="post"> <select id="btn2" name="dane1" onChange="loaduj( '2011, 01, 01', '2011, 01, 31');"> /*Tu tak naprawdę nie mam funkcji laduj tylko funkcja zapytaj() ale mniej więcej taki model zachowania trzeba sobie wyobrazić dla funkcji zapytaj. Po wywolaniu funkcji zapytaj dane zwracane w ajax i na koniec wywoływana jest funkcja loaduj( 'tu jest zmienna z nową datą', 'tu jest zmienna' z nową datą) z nowym zkresem dat. Problem w tym , że, zdarzenie wywołuję w jquery po zmianie opcji select btn2 i idzie ono natychmiast. Zanim dostanę dane to jquery w tym czasie kończy działanie i nic nie otrzymuje. Gdybym mógł w jquery wykryć zmianę pola input byłoby po sprawie.*/ <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> Ten post edytował fiasko 4.02.2011, 01:14:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 15:35 |