Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с 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..

Всегда так делаю, проблем еще ни разу не возникало.. Может на кнопочку какой-то скрипт навешан, не делаешь клика - он не выполняется.. Вот сервер это и ловит..


Наверх

Титульная страница Поиск, карта сайта Написать письмо