Witam,
Nie mam pojęcia jak rozwiązać problem, tym bardziej że analogiczne rozwiązanie działa w innym moim skrypcie. Mam coś takiego:
  1.  
  2. function retrieveAttritues(prod_id,form_id,shop)
  3. {
  4. var url = 'ajax.attributes_response.php?prod_id=' + prod_id +'&form_id=' + form_id + '&shop=' + shop;
  5.  
  6. window.httpObj = createXMLHTTPObject();
  7.  
  8. window.httpObj.onreadystatechange = function()
  9. {
  10.  
  11. if (window.httpObj.readyState == 4)
  12. {
  13. if(window.httpObj.responseText=='NoneProd')
  14. {
  15.  
  16. document.getElementById('prod_' + form_id).style.border='2px solid red';
  17. document.getElementById('attribute_' + form_id).innerHTML ='Brak produktu!';
  18. document.getElementById('products_name_' + form_id).innerHTML ='';
  19. }
  20. else
  21. {
  22. document.getElementById('prod_' + form_id).style.border='';
  23. document.getElementById('attribute_' + form_id).innerHTML =
  24. window.httpObj.responseText;
  25.  
  26.  
  27.  
  28. if(document.getElementById('quantity_' + form_id).value=='0' || document.getElementById('quantity_' + form_id).value=='')
  29. {
  30. document.getElementById('quantity_' + form_id).style.border='2px solid red';
  31.  
  32. }
  33. else
  34. {
  35. document.getElementById('quantity_' + form_id).style.border='';
  36.  
  37. }
  38.  
  39.  
  40.  
  41.  
  42. }
  43. else
  44. {
  45. document.getElementById('attribute_' + form_id).innerHTML = 'Przetwarzam...';
  46.  
  47. }
  48.  
  49. }
  50.  
  51. window.httpObj.open('GET', url,true);
  52. window.httpObj.send(null);
  53. }


Oraz
  1. echo "<tr>";
  2. echo "<td>ID: <input onkeyup=\"retrieveAttritues(prod_{$pos}.value,'{$pos}','{$_GET['shop']}');\" type=text size=5 maxlength=5 name=prod_{$pos} id=prod_{$pos}></td><td id=attribute_{$pos}>Atrybut</td><td>Cena podstawowa*:<input type=text size=6 name=brutto_{$pos} id=brutto_{$pos}></td><td>Sztuk:<input type=text size=3 name=quantity_{$pos} id=quantity_{$pos} onkeyup=\"quantityMore('{$pos}');\"><td><td id=products_name_{$pos}></td></tr>"


W id=attribute_{$pos} generuje się SELECT z pobranymi z MySQL polami. Wszystko działa, tzn. SELECT się ładuje, nie ma żadnego błędu w składni js. Tylko, w momencie wysłania formularza nie wysyła się pod Firefoxem ten SELECT (nie wysyła się wcale, jakby go nie było w formularzu - nie wchodzi do tablicy $_POST). Problem nie występuje w IE, gdzie pole select jest wysyłane i wszystko działa.

Firefox czasami zachowuje się bardzo specyficznie, próbowałem zlokalizować co jest nie tak, ale bez skutku. Proszę o pomoc.

----------
Problem rozwiązany. Firefox po prostu ma problemy z umiejscowieniem <form>, w momencie gdy <form> zamieszcza się przed główną tabelą wszystko działa, jeżeli zagnieżdża się form po <table> zaczynają być problemy. Nie mam pojęcia dlaczego tak :/ Ale ważne, że po poprawkach w HTML działa.