![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с Submit у TWebBrowser
tasman © (2003-07-15 06:29:00)
Доброго времени суток!
У меня появилась небольшая проблема.
Я использую такой код для отправки формы на сервер. Перед этим я аналогичным способом заполняю поля этой формы. Но сервер интерпритирует это как попытку несанкционированого доступа и сообщает, что мои действия привели к неправильной интерпритации данных сервером. Но при этом если вручную нажать кнопку Submit в окне WebBrowser"а то все нормально и не какой ошибки не возникает!
WebBrowser1.ControlInterface.Document.QueryInterface(IHtmlDocument2,iDoc);
IDisp:=iDoc.all.tags("Form");
if assigned(IDisp) then begin
IDisp.QueryInterface(IHTMLElementCollection,iColl);
if assigned(iColl) then begin
for i:=1 to iColl.Get_length do begin
iDisp:=iColl.item(pred(i),0);
iDisp.QueryInterface(IHTMLFormElement,iFormElement);
if assigned(iFormElement) and (iFormElement.name="")then
begin
iFormElement.submit;
end;
end;
end;
end;
Из-за чего это может возникать и как этого можно избежать?
Спасибо! С наилучшими пожеланиями Valera.
tasman (2003-07-19 08:22:00) [1]
2 Ihor Osov"yak
Спасибо! Твой способ не пробовал - нашел другой. Работает:
ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements;
for i := 0 to (ovElements.Length - 1) do
begin
if (lowercase(ovElements.item(i).tagName) = "input") and
(lowercase(ovElements.item(i).type) = "submit") then
ovElements.item(i).Click;
end;
Ihor Osov'yak (2003-07-16 00:58:00) [2]
Дык таким же способом поищи IHtmlElement к кнопочке submit и следай click..
Всегда так делаю, проблем еще ни разу не возникало.. Может на кнопочку какой-то скрипт навешан, не делаешь клика - он не выполняется.. Вот сервер это и ловит..