Переделал форму на отправку через ajax. Та же шняга - при отправке через get все отправляется, а через post - нифига. Тело запроса формируется нормально, но до страницы-обработчика не доходит.
Вывод: формы, подгруженные аяксом, через post не отправляются. Осталось выяснить, почему и как с этим бороться. |
Вывод: ваша страница-обработчик не понимает POST.
|
Здрасте, как это не понимает?
А это вы читали? Цитата:
|
SARD,
тестовый пример давайте. |
Фот форма, которая выгружается в ajax и которую я пытался отправлять с отдельной страницы:
<FORM method=post action="test.asp?p=123&sp=456" target=hidden8> <TABLE width="100%"> <TBODY> <TR> <TH>Код</TH> <TH>Название</TH> <TH>Характеристики</TH> <TH>Цена</TH> <TH>Скидка</TH> <TH>Показ.</TH> <TH>Арх.</TH> <TH>Удал.</TH> </TR> <TR align=middle> <TD><INPUT value=12 type=hidden name=ArrId> <INPUT type=text name=Code12 size=15></TD> <TD><INPUT type=text name=Title12 size=30></TD> <TD><INPUT type=text name=Characters12></TD> <TD><INPUT type=text name=Price12 size=5></TD> <TD> <SELECT name=Discount12> <OPTION selected value=1>Распространяется <OPTION value=0>Не распространяется </SELECT> </TD> <TD><INPUT CHECKED type=checkbox name=rShow12></TD> <TD><INPUT type=checkbox name=Archive12></TD> <TD><INPUT onclick="return Asc();" type=checkbox name=Del12></TD> </TR> <TR align=middle> <TD><INPUT value=14 type=hidden name=ArrId> <INPUT type=text name=Code14 size=15></TD> <TD><INPUT type=text name=Title14 size=30></TD> <TD><INPUT type=text name=Characters14></TD> <TD><INPUT type=text name=Price14 size=5></TD> <TD> <SELECT name=Discount14> <OPTION selected value=1>Распространяется <OPTION value=0>Не распространяется </SELECT> </TD> <TD><INPUT type=checkbox name=rShow14></TD> <TD><INPUT type=checkbox name=Archive14></TD> <TD><INPUT onclick="return Asc();" type=checkbox name=Del14></TD> </TR> <TR align=middle> <TD><INPUT value=15 type=hidden name=ArrId> <INPUT type=text name=Code15 size=15></TD> <TD><INPUT type=text name=Title15 size=30></TD> <TD><INPUT type=text name=Characters15></TD> <TD><INPUT type=text name=Price15 size=5></TD> <TD> <SELECT name=Discount15> <OPTION selected value=1>Распространяется <OPTION value=0>Не распространяется </SELECT> </TD> <TD><INPUT type=checkbox name=rShow15></TD> <TD><INPUT type=checkbox name=Archive15></TD> <TD><INPUT onclick="return Asc();" type=checkbox name=Del15></TD> </TR> <TR align=middle> <TD><INPUT value=13 type=hidden name=ArrId> <INPUT type=text name=Code13 size=15></TD> <TD><INPUT type=text name=Title13 value=sdfsdfsdf size=30></TD> <TD><INPUT type=text name=Characters13></TD> <TD><INPUT type=text name=Price13 size=5></TD> <TD> <SELECT name=Discount13> <OPTION selected value=1>Распространяется <OPTION value=0>Не распространяется </SELECT> </TD> <TD><INPUT type=checkbox name=rShow13></TD> <TD><INPUT type=checkbox name=Archive13></TD> <TD><INPUT onclick="return Asc();" type=checkbox name=Del13></TD> </TR> <TR> <TD bgColor=#ebebeb colSpan=8 align=middle> <INPUT value="Сохранить изменения" type=submit name=submit> <IFRAME src="" width=0 height=0 style="display: none" name=hidden8></IFRAME> </TD> </TR> </TBODY> </TABLE> </FORM> |
И как воспроизвести ошибку?
|
Да никак вы ее не вопроизведете.
При отправке формы в test.asp ничего не приходит. Просто пусто, и все. Все попытки найти хоть что-то провалились, единственное, что видно - параметры в action формы. Это если слать ее после загрузки аяксом. А если эту форму воткнуть в отдельную страницу, тогда все прекрасно работает. Код подгрузки аякса: var xmlhttp; function getXmlHttp(){ try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function AddAnotherPlaceAjax(url,div) { var req = getXmlHttp() req.onreadystatechange = function() { if (req.readyState == 4) { if(req.status == 200) { document.getElementById(div).innerHTML = req.responseText; } else {document.getElementById(div).innerHTML = req.statusText} } } req.open('POST', url, true); req.send(null); } При клике на картинку в div загружается страница с формой из предыдущего сообщения: <img src="/images/icons/plus.jpg" class="href" onClick="AddAnotherPlaceAjax('/includes/Assortment.asp?sp=8','EditSub8')"> <div id="EditSub8"></div> Вот и все. Не работает. |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 07:31. |