Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.05;
Скачать: CL | DM;

Вниз

Выделить Checkbox в webbrowser!   Найти похожие ветки 

 
Седрак   (2008-08-21 13:18) [0]

Добрый день....как можно выделить опеределнный чекбокс в компонененте веббраузер?
Допустим я кинул на форму webbrowser1...и урл его http://delphimaster.ru/cgi-bin/forum.pl?n=18 как мне сделать так что б автоматический галочка стояла допустим в <input type="checkbox" name="vd6" value="D7" />D7 ??
заранее благодарю....


 
Vlad Oshin ©   (2008-08-21 13:24) [1]

http://delphiworld.narod.ru/base/auto_fill_html_forms.html


 
седрак   (2008-08-21 13:35) [2]

там автомотическое заполнение формы хтмл...где надо вводить слово....а мне нужно выделить чекбокс..но все равно спасибо за подсказку...


 
Vlad Oshin ©   (2008-08-21 13:43) [3]


> чекбокс..

елемент
> формы хтмл

и имеет cв-во, помечен или нет.

см. в html  какое


 
SSSs   (2008-08-21 14:02) [4]

это понятно...только автоматические как мне сделать сво-во помечен......что то я не догоняю?можно мне в прямую сказать?


 
Vlad Oshin ©   (2008-08-21 14:25) [5]

нет!!!
я делал, даже без webbrowser, а сразу с IE,
но диск запортился с исходниками, восстанавливаю вот сижу, программки всякие пробую. Восстановлю - скажу


 
Седрак   (2008-08-21 15:05) [6]

ууу ясно)))глухо все значь)))а мож у кого еще есть мысли)))


 
Vlad Oshin ©   (2008-08-21 15:19) [7]

поищи по innerHTML, OuterHTML
Смысл - когда подгрузится страница, заменить innerHTML на свое значение


 
седрак   (2008-08-21 17:31) [8]

Откопал...
Как включить/выключить CheckBox в TWebBrowser?

// Включаем/выключаем CheckBox в первой форме

procedure TForm1.Button1Click(Sender: TObject);
var
 ovElements: OleVariant;
 i: Integer;
begin
  ovElements := WebBrowser1.OleObject.Document.Forms.Item( 0 ).Elements;
  for i := 0 to ( ovElements.Length-1 ) do
     if ( AnsiUpperCase( ovElements.Item( i ).tagName ) = "INPUT" ) then
        if ( AnsiUpperCase( ovElements.Item( i ).type ) = "CHECKBOX" ) then
           if ( ovElements.item( i ).Value = "Some text" ) then
              ovElements.Item( i ).Click;
end;

но что то разобраться не могу))если запашет, мож скажете?))


 
Vlad Oshin ©   (2008-08-22 14:24) [9]

вот процедурка, перебирает окна IE, и если находит какие поля то заполняет. (на комменты внимания не обращать :))

тебе надо к
<input type="checkbox" name="vd6" value="D7" />D7
прикрутить это
CHECKED – указывает, что поля типов checkbox и/или radio (см. выше атрибут TYPE) активизированы.

методом подмены innerHTML, OuterHTML


procedure FillAll1(FullName,DateOfBirth,PlaceOfBirth,Gender:string);   //аналогично, только заполняются дети. 1
var
   Winds: IShellWindows;
   IEWB: IWebBrowser2;
   Doc: IHtmlDocument2;
   i,j:integer;
   Coll : IHTMLElementCollection;
begin
Winds:=CoShellWindows.Create;
for j:=0 to Winds.Count-1 do
 if (Winds.Item(j) as IWEbBrowser2).Document<>nil
 then begin
   IEWB:=Winds.Item(j) as IWEbBrowser2;
   if IEWB.Document.QueryInterface(IhtmlDocument2, Doc)= S_OK
   then begin //начало подключения
    doc.all.tags("INPUT").QueryInterface(IHTMLElementCollection,coll);

for i:=0 to Coll.length-1 do begin //--------------- заполняем типа Input все
 // имя фамилия
 if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.NAME_E.01")
  then begin HTMLInputElement(Coll.item(i,varEmpty)).value:=FullName;  end;
 // Дата рождения
 if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.DOB.01")
  then begin HTMLInputElement(Coll.item(i,varEmpty)).value:=DateOfBirth;  end;
 // Место рождения
 if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.DOB_PLC.01" )
  then begin HTMLInputElement(Coll.item(i,varEmpty)).value:=PlaceOfBirth;  end;
                             end;

doc.all.tags("SELECT").QueryInterface(IHTMLElementCollection,coll);
for i:=0 to Coll.length-1 do begin //--------------- заполняем типа Select все
 // Пол, определяем полом
 if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.SEX.01")
  then begin
  if Gender[1]="M" then
  HTMLInputElement(Coll.item(i,varEmpty)).outerHTML:="<SELECT size=1 name=ACCOMP_BACKUP.DEFAULT.SEX.01>"+
                   "<OPTION value=1 selected>Male<OPTION value=2>Female</OPTION></SELECT>";
  if Gender[1]="F" then
  HTMLInputElement(Coll.item(i,varEmpty)).outerHTML:="<SELECT size=1 name=ACCOMP_BACKUP.DEFAULT.SEX.01>"+
                   "<OPTION value=1>Male<OPTION value=2 selected>Female</OPTION></SELECT>";
       end;

 // Сын или дочь, определяем полом
 if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.RELN.01")
  then begin
  if Gender[1]="M" then
  HTMLInputElement(Coll.item(i,varEmpty)).outerHTML:="<SELECT size=1 name=ACCOMP_BACKUP.DEFAULT.RELN.01>"+
      "<OPTION value=0>Select Relation<OPTION value=2>WIFE<OPTION value=3 selected>SON<OPTION value=4>DAUGHTER</OPTION></SELECT>";
  if Gender[1]="F" then
  HTMLInputElement(Coll.item(i,varEmpty)).outerHTML:="<SELECT size=1 name=ACCOMP_BACKUP.DEFAULT.RELN.01>"+
      "<OPTION value=0>Select Relation<OPTION value=2>WIFE<OPTION value=3>SON<OPTION value=4 selected>DAUGHTER</OPTION></SELECT>";
       end;

  // пока тупо Россия
 if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.DOB_CNTRY.0 1")
  then begin
  HTMLInputElement(Coll.item(i,varEmpty)).outerHTML:="<SELECT size=1 name=ACCOMP_BACKUP.DEFAULT.DOB_CNTRY.01>"+
                   "<OPTION value=477>RUSSIA</OPTION></SELECT>";
       end;

                             end;//--------------- заполняем типа Select все
        end;  //конец подключения
      end;
end;



Страницы: 1 вся ветка

Текущий архив: 2008.10.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
11-1193921645
MTsv DN
2007-11-01 15:54
2008.10.05
QProg и KOL v.2.83 (и выше)


2-1219413550
zoh
2008-08-22 17:59
2008.10.05
image&amp;text


3-1206800178
srgsoroka
2008-03-29 17:16
2008.10.05
зависание при запуске с расшаренного диска


15-1218693384
Игорь Шевченко
2008-08-14 09:56
2008.10.05
Какой великий смысл в использовании resourcestring вместо const ?


8-1186717227
rtm
2007-08-10 07:40
2008.10.05
Как создать Shape в форме треугольника?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский