Mam problem z wysłaniem formularza w IE z wykorzystaniem XAJAX'a. Przycisk submit wygląda tak,
jakby w ogóle nie byl aktywny pod IE. Można klikać i klikać i nie nastpuje żadna akcja.
Natomiast pod Firefoxem wszystko działa prawidłowo.
Sprawdzałem dosyć dokładnie kod, ale sam już nie wiem, co jest przyczyną błędu.

Oto kod pliku, w ktorym jest formularz.


  1. <form id="nazwaLek" name="nazwaLek" method="POST" action="">
  2. <div id="szukaj_nazwy">
  3. <div id="nazwa_lek1">
  4. <p class="sredni">
  5. Wpisz nazwę leku: <input type="text" name="search1" id="search1" onKeyUp="xajax_pokazLek(document.getElementById('search1').value, 1);">
  6. </p>
  7. <input id="liczba_lekow" name="liczba_lekow" type="hidden" value="0">
  8. <input id="kolejny_div" name="kolejny_div" type="hidden" value="1">
  9. <input id="wolny_div" name="wolny_div" type="hidden" value="wyborLek1">
  10.  
  11. </div>
  12. <div id="ograniczenie"><p class="duzycz">Maksymalnie możesz dodać 10 leków!</p></div>
  13.  
  14. <div id="listaLek" style="position: absolute; display:none;">
  15. &nbsp;
  16. </div>
  17. <div id="wybraneLeki">
  18. &nbsp;
  19. </div>
  20.  
  21. <div id="submitInterakcje" style="clear:both; display:none;">
  22. <h1>3.</h1>
  23. <div id="checkboxes">
  24. <input type="checkbox" id="pomiedzy_lekami" name="pomiedzy_lekami" checked="checked" value="1"><label for="pomiedzy_lekami">Szukaj interkacji pomiędzy lekami z Twojej listy [<a href="demo.php" title="Przeczytaj o pełnej wersji naszej wyszukiwarki">wersja demonstracyjna</a>]</label>
  25. <input type="checkbox" id="z_pozywieniem" name="z_pozywieniem" value="1"><label for="z_pozywieniem">Szukaj interkacji z pożywieniem</label>
  26. <input type="checkbox" id="z_alkoholem" name="z_alkoholem" value="1"><label for="z_alkoholem">Szukaj interakcji z alkoholem</label>
  27.  
  28. <input type="checkbox" id="ciaza" name="ciaza" value="1"><label for="ciaza">Bezpieczeństwo stosowania w ciąży</label>
  29. <input type="checkbox" id="laktacja" name="laktacja" value="1"><label for="laktacja">Bezpieczeństwo stosowania w okresie karmienia piersią</label>
  30. <input type="checkbox" id="kierowcy" name="kierowcy" value="1"><label for="kierowcy">Bezpieczeństwo stosowania dla kierowców</label>
  31.  
  32. </div>
  33. <h1>4.</h1>
  34. <div id="szukaj_interakcji">
  35.  
  36.  
  37. </div>
  38. </div>
  39. </div>
  40. <input type="submit" name="submit_inter" id="submit_inter" value="Szukaj interakcji" onclick="xajax_szukajInterakcji(xajax.getFormValues('nazwaLek')); return false;">
  41.  
  42. </form>


Submit pod IE działa, ale tylko przy pierwszym uruchomieniu. Po wywołaniu funkcji za pomocą XAJAX'a i wstawieniu jakiejś treści
do divów nad submitem, submit staje się nieaktywny pod IE. Pod Firefoxem jest ok.

Oto kod tej funkcji, po wywolaniu której submit przestaje działać:

  1. <?php
  2. function lekInfo($id_h, $nazwa, $liczba, $div)
  3. //funkcja wyswietla lek po wybraniu go na liscie
  4. //z pola autocomplete
  5. {
  6.  
  7. $objResponse = new xajaxResponse();
  8. $text = "";
  9.  
  10. if($liczba==10) //uniemozliwienie dodania wiecej niz 10 lekow do listy
  11. {
  12.  # $objResponse->alert("Maksymalnie możesz dodać 10 leków!");
  13.  
  14. $objResponse->script("show('ograniczenie');");
  15.  $objResponse->script("setTimeout(\"Hide('ograniczenie')\", 5000);");
  16. $objResponse->script("Hide('listaLek');");
  17. $objResponse->script("document.forms['nazwaLek'].reset();");
  18. return $objResponse;
  19. die;
  20. }
  21.  
  22. if($div==1)
  23. $text .= '<h1>2.</h1><p class="small">. </p>'; 
  24.  
  25. $text .= '<div id="lista_lekow"><p class="sredni"><a onclick="javascript:xajax_usunLek(''.$div.'', document.getElementById('liczba_lekow').value);" 
  26. title="Kliknij, aby usunąć ten lek z listy">
  27. <img src="chk_off.png" border="0">&nbsp;&nbsp;';
  28. $text .= ''.str_replace("(R)", "<sup>&reg;</sup>", $nazwa).'</a></p></div>';
  29.  
  30.  
  31.  $text .= '<input type="hidden" name="id_h'.$div.'" id="id_h'.$div.'" value="'.$id_h.'">';
  32.  
  33. $text2 = '<div id="wyborLek'.$div.'" style="clear:both;"> &nbsp;</div>'; 
  34.  
  35.  $objResponse->append("wybraneLeki", "innerHTML", $text2);
  36.  $objResponse->script("show('wyborLek$div');");
  37.  $objResponse->assign("wyborLek$div", "innerHTML", $text);
  38.  $objResponse->script("Hide('listaLek');");
  39.  $objResponse->script("show('submitInterakcje');");
  40.  
  41.  $objResponse->script("Hide('interakcjeWynik');");
  42.  
  43.  $div++;
  44.  $liczba++;
  45.  
  46.  $objResponse->script("document.getElementById('liczba_lekow').value=$liczba;");
  47.  $objResponse->script("document.getElementById('kolejny_div').value=$div;");
  48.  
  49. return $objResponse;
  50. }
  51. ?>


Dodam, że debuguje wszystkie wywołania funkcji xajax i nie ma tam żadnych błędów.

Będę bardzo wdzięczny za wszelkie wskazówki, które pomogą mi rozwiązać ten problem.