Witam. Chciałem aby elementem mojego formularza były dwie rozwijane listy, gdzie elementy na drugiej z nich są zależne od tej pierwszej. Użyłem gotowego kodu, który działa, ale tylko częściowo. Rozwijane listy działają poprawnie. Jestem w stanie wysłać formularz. Problem pojawia się dopiero wtedy gdy chcę aby po uzupełnieniu wszystkich pól i wysłaniu formularza mieć automatyczne przekierowanie na wskazaną przeze mnie stronę. I tu pojawia się problem, ponieważ funkcja JS używa pliku php, który jest przypisany do action. I gdy zmienię wartość action w miejscu
  1. <form name=doublecombo id=doublecombo action=dll.php>

to listy przestają działać. Nie znam się na AJAXIE i nie wiem co mógłbym ewentualnie zmienić w kodzie, aby wszystko śmigało jak należy. Będę wdzięczny za wszelkie podpowiedzi.

Kod .JS
  1.  
  2. function getLevel(elem) {
  3.  
  4.  
  5. var eid = elem.options[elem.selectedIndex].value;
  6. if (eid == 0) return false;
  7. var obj = $($(elem).nextSiblings()[0]);
  8. Form.disable($(elem).parentNode);
  9. for (i = obj.options.length-1; i >= 0; i--) {
  10. obj.remove(i);
  11. }
  12. obj.options[0] = new Option("Ładowanie...", 1);
  13.  
  14.  
  15. new Ajax.Request($(elem).parentNode.action, { /*!!!!! TUTAJ POJAWIA SIĘ 'ACTION'. PODEJRZEWAM, ŻE TO TĘ LINIJKĘ NALEŻY EDYTOWAĆ. NIE WIEM TYLKO JAK POWINNA WYGLĄDAĆ :C I CZY JEJ ZMIANA NIE PONIESIE ZA SOBĄ KONIECZNOŚCI EDYTOWANIA INNYCH LINII KODU*/
  16. method: 'get',
  17. parameters: { id: eid },
  18. onSuccess: function(transport) {
  19. for (i = obj.options.length-1; i >= 0; i--) {
  20. obj.remove(i);
  21. }
  22.  
  23. record = transport.responseXML.getElementsByTagName("option");
  24. result = "";
  25. obj.options[0] = new Option("-- wybierz --", 0);
  26. for (i = 0; i < record.length; i++) {
  27. obj.options[i+1] = new Option(record[i].childNodes[0].nodeValue, record[i].getAttribute("id"));
  28. }
  29.  
  30. Form.enable($(elem).parentNode);
  31. return result;
  32. }
  33. });
  34.  
  35. }