Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

TCppWebBrowser, как нажать на кнопку Submit?

6.5K
20 апреля 2005 года
creater
27 / / 07.04.2005
Как можно нажать на Submit кнопку в теге которой прописан
обработчик onclick JavaScript, вида:

 
Код:
<input type="button" name="B1" value="Послать" &#111;&#110;click="CheckFields()">


Т.е. при попытке нажать на кнопку "Послать" с параметрами:
TVariant vName = 0;
TVariant vIndex = 0;
какое-то действие происходит но самого поста как такового не
происходит.

Форма расположена на странице http://interweb.spb.ru/bbs/adf.asp?a2


Заранее большое спасибо.
246
20 апреля 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by creater
Как можно нажать на Submit кнопку в теге которой прописан
обработчик onclick JavaScript, вида:

 
Код:
<input type="button" name="B1" value="Послать" &#111;&#110;click="CheckFields()">


Т.е. при попытке нажать на кнопку "Послать" с параметрами:
TVariant vName = 0;
TVariant vIndex = 0;
какое-то действие происходит но самого поста как такового не
происходит.

Форма расположена на странице http://interweb.spb.ru/bbs/adf.asp?a2


Заранее большое спасибо.


IHTMLFormElement::submit();

6.5K
20 апреля 2005 года
creater
27 / / 07.04.2005
Цитата:
Originally posted by GIZMO
IHTMLFormElement::submit();



Вот как я делаю:

Код:
IHTMLElementCollection *HTMLForms = NULL;
      if(SUCCEEDED(pHTMLDocument->get_forms(&HTMLForms)) && HTMLForms)
      {
        TVariant vName = 0;
        TVariant vIndex = 0;
        IDispatch *pDisp = NULL;
        if(SUCCEEDED(HTMLForms->item(vName, vIndex, &pDisp)) && pDisp)
        {
          IHTMLFormElement *HTMLForm = NULL;
          if(SUCCEEDED(pDisp->QueryInterface(IID_IHTMLFormElement,
            (LPVOID*)&HTMLForm)) && HTMLForm)
          {
            HTMLForm->submit();
            HTMLForm->Release();
          }
          pDisp->Release();
        }
        HTMLForms->Release();
      }


Разультат описанный мною выше :-(
246
20 апреля 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by creater
Вот как я делаю:

Код:
IHTMLElementCollection *HTMLForms = NULL;
      if(SUCCEEDED(pHTMLDocument->get_forms(&HTMLForms)) && HTMLForms)
      {
        TVariant vName = 0;
        TVariant vIndex = 0;
        IDispatch *pDisp = NULL;
        if(SUCCEEDED(HTMLForms->item(vName, vIndex, &pDisp)) && pDisp)
        {
          IHTMLFormElement *HTMLForm = NULL;
          if(SUCCEEDED(pDisp->QueryInterface(IID_IHTMLFormElement,
            (LPVOID*)&HTMLForm)) && HTMLForm)
          {
            HTMLForm->submit();
            HTMLForm->Release();
          }
          pDisp->Release();
        }
        HTMLForms->Release();
      }


Разультат описанный мною выше :-(


Что должно произойти Я не понял т.к. и вслучае нажатия в IE и вслучае нажатия программно в CppWebBrowser результат - пустое окно.
Отправил от имени Васи, [email]pupkin@mail.ru[/email], г. Санкт-Петербург и т.д.

6.5K
20 апреля 2005 года
creater
27 / / 07.04.2005
Цитата:
Originally posted by GIZMO
Что должно произойти Я не понял т.к. и вслучае нажатия в IE и вслучае нажатия программно в CppWebBrowser результат - пустое окно.
Отправил от имени Васи, [email]pupkin@mail.ru[/email], г. Санкт-Петербург и т.д.



Должно произойти размешение на доске информации которая находится в полях формы и которая размещается путем нажатия на кнопку "Отправить"

246
20 апреля 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by creater
Должно произойти размешение на доске информации которая находится в полях формы и которая размещается путем нажатия на кнопку "Отправить"


Это Я понял. При заполнении в IE результата тоже не вижу?

6.5K
20 апреля 2005 года
creater
27 / / 07.04.2005
Цитата:
Originally posted by GIZMO
Это Я понял. При заполнении в IE результата тоже не вижу?



Странное дело :-((
Из IE не хочет принимать пост, а из Оперы принимает.

246
20 апреля 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by creater
Странное дело :-((
Из IE не хочет принимать пост, а из Оперы принимает.


Ладно, меня тут работать заставляют так, что думать некогда. Вот кусок кода работает 150%:ъ

Код:
CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2>                  pDoc;
    CComQIPtr<IHTMLElementCollection, &IID_IHTMLElementCollection>  pColl;
    CComQIPtr<IDispatch, &IID_IDispatch>                            pTmpDisp;
    CComQIPtr<IHTMLInputElement, &IID_IHTMLInputElement>            pElement1;
    CComQIPtr<IDispatch, &IID_IDispatch>                            pDisp1;
    CComQIPtr<IHTMLInputElement, &IID_IHTMLInputElement>            pElement2;
    CComQIPtr<IDispatch, &IID_IDispatch>                            pDisp2;

    if ( SUCCEEDED (WB->Document->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&pDoc)))
    {
        if ( SUCCEEDED (pDoc->get_all(&pColl)))
        {
            if ( SUCCEEDED (pColl->tags(TVariant("INPUT"), &pTmpDisp)))
            {
                pColl=pTmpDisp;
                TVariant v1("string"),  v12("Only"), v2;
                pColl->item( v1, v2, &pDisp1);
                pElement1 = pDisp1;
                pElement1->put_value(wsName);

                pColl->item( v12, v2, &pDisp2);
                pElement2 = pDisp2;
                pElement2->put_checked(1);

                // нажать на кнопку //click SUBMIT Button
                IHTMLElementCollection *HTMLForms = NULL;

                if ( SUCCEEDED ( pDoc->get_forms ( &HTMLForms ) ) && HTMLForms )
                {
                //  slHtmlFormName <form name=...>
                    TVariant vName5(0);
                    TVariant vIndex5;
                    IDispatch *pDisp5 = NULL;

                    if ( SUCCEEDED ( HTMLForms->item (vName5, vIndex5, &pDisp5 ) ) && pDisp5 )
                    {
                        IHTMLFormElement *HTMLForm = NULL;

                        if ( SUCCEEDED ( pDisp5 -> QueryInterface ( IID_IHTMLFormElement, ( LPVOID* )&HTMLForm ) ) && HTMLForm )
                        {
                            HTMLForm -> submit ();
                            HTMLForm -> Release ();
                        }

                        pDisp5 -> Release ();
                    }

                    HTMLForms -> Release ();
                }
            }
        }
    }
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог