mam pewien problem, który polega na tym, iż w przeglądarce Firefox nie
działa dynamiczne pole input. Przedstawienie problemu:
Funkcja JS: function chooseCategory(cid, appURL){ var req = mint.Request().Set(config); req.AddParam("cid", cid); req.Send(appURL+"xhr/getSubcategory.html", "cid"); }
Służy do pobierania podkategorii i wyświetla Selecty w formie:
[select - kategoria] -> [select - podkategoria] -> [select - wybierz kolejną podkategorie]
(selecty pojawiają się raz - do najgłębszej subkategorii / kategorii, później widoczny jest tylko link do zmiany wybranej kategorii)
Przy czym każde kolejne pole select jest wyświetlane po wybraniu kategorii powyższej i oczywiście jeżeli ta kategoria ma podkategorię. W moim div-ie "categoryPath" poprzez firebuga widze:
Więc z odpowiedzi response funkcji chooseCategory(...) opisanej powyżej mamy wrzuconą przez Ajaxa zawartość wraz z inputem "cid".
Niby wszystko ok, ale teraz... wywołuję funkcję JS przez kliknięcie w button:
function checkProductForm(appURL) { var req = mint.Request().Set(config); // Check form req.OnSuccess = function(){ if (this.responseText == "") { document.forms['productForm'].submit(); } else { $("errors").innerHTML = this.responseText; document.getElementById('messagesContainer').style.display='block'; scroll(0,0); } } req.OnAbort = function() { alert("Serwer ma problemy z odebraniem zapytania. Spróbuj ponownie późnej."); } req.SendForm('productForm', appURL+"xhr/checkProductForm.html"); }
No i działanie ma być takie, że gdy funkcja odbierze jakieś błędy z adresu appURL+"xhr/checkProductForm.html" to wrzuca je w div'a "errors" i wyświetla go. Wszysto ok, poza tym, że wcześniej wygenerowany również przez autmatyczny innerHTML input "cid" jakby w ogóle nie istniał. Poza ewentualnymi błędami response zawiera:
Notice: Undefined index: cid in
C:\wamp\www\www\xxx\skrypty\gsp\application\controllers\XhrController.php on line 28
Czyli tak jakby w ogóle nie był widoczny input "cid" z formularza. Kod php z linii błędu to:
$products->checkProductFormXhr($_POST['pname'], $_POST['price'], $_POST['vat'], $_POST['description'], $_POST['amountId'], $_POST['stock'], $_POST['stockAmountOk'], $_POST['cid'], $_POST['promotionType'], $_POST['promotionValue']);
Co ciekawe, problem ten nie występuje w IE.
Proszę o pomoc.