TCppWebBrowser, как нажать на кнопку Submit?
обработчик onclick JavaScript, вида:
Код:
<input type="button" name="B1" value="Послать" onclick="CheckFields()">
Т.е. при попытке нажать на кнопку "Послать" с параметрами:
TVariant vName = 0;
TVariant vIndex = 0;
какое-то действие происходит но самого поста как такового не
происходит.
Форма расположена на странице http://interweb.spb.ru/bbs/adf.asp?a2
Заранее большое спасибо.
Цитата:
Originally posted by creater
Как можно нажать на Submit кнопку в теге которой прописан
обработчик onclick JavaScript, вида:
Т.е. при попытке нажать на кнопку "Послать" с параметрами:
TVariant vName = 0;
TVariant vIndex = 0;
какое-то действие происходит но самого поста как такового не
происходит.
Форма расположена на странице http://interweb.spb.ru/bbs/adf.asp?a2
Заранее большое спасибо.
Как можно нажать на Submit кнопку в теге которой прописан
обработчик onclick JavaScript, вида:
Код:
<input type="button" name="B1" value="Послать" onclick="CheckFields()">
Т.е. при попытке нажать на кнопку "Послать" с параметрами:
TVariant vName = 0;
TVariant vIndex = 0;
какое-то действие происходит но самого поста как такового не
происходит.
Форма расположена на странице http://interweb.spb.ru/bbs/adf.asp?a2
Заранее большое спасибо.
IHTMLFormElement::submit();
Цитата:
Originally posted by GIZMO
IHTMLFormElement::submit();
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();
}
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();
}
Разультат описанный мною выше :-(
Цитата:
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();
}
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], г. Санкт-Петербург и т.д.
Цитата:
Originally posted by GIZMO
Что должно произойти Я не понял т.к. и вслучае нажатия в IE и вслучае нажатия программно в CppWebBrowser результат - пустое окно.
Отправил от имени Васи, [email]pupkin@mail.ru[/email], г. Санкт-Петербург и т.д.
Что должно произойти Я не понял т.к. и вслучае нажатия в IE и вслучае нажатия программно в CppWebBrowser результат - пустое окно.
Отправил от имени Васи, [email]pupkin@mail.ru[/email], г. Санкт-Петербург и т.д.
Должно произойти размешение на доске информации которая находится в полях формы и которая размещается путем нажатия на кнопку "Отправить"
Цитата:
Originally posted by creater
Должно произойти размешение на доске информации которая находится в полях формы и которая размещается путем нажатия на кнопку "Отправить"
Должно произойти размешение на доске информации которая находится в полях формы и которая размещается путем нажатия на кнопку "Отправить"
Это Я понял. При заполнении в IE результата тоже не вижу?
Цитата:
Originally posted by GIZMO
Это Я понял. При заполнении в IE результата тоже не вижу?
Это Я понял. При заполнении в IE результата тоже не вижу?
Странное дело :-((
Из IE не хочет принимать пост, а из Оперы принимает.
Цитата:
Originally posted by creater
Странное дело :-((
Из IE не хочет принимать пост, а из Оперы принимает.
Странное дело :-((
Из 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 ();
}
}
}
}
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 ();
}
}
}
}