Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Работа с сетью: Выбор одного из двух одноимённых элементов формы (IHTMLFormElement) (http://forum.oszone.net/showthread.php?t=197296)

41stNocker 22-01-2011 03:52 1594472

Работа с сетью: Выбор одного из двух одноимённых элементов формы (IHTMLFormElement)
 
Здравствуйте.
Собственно сабж. Получить нужно доступ ко второму полю.
Дополнительно:
Первое поле всегда type="hidden" и value="0", а второе поле всегда без разрыва следуюет за первым и всегда имеет value="1"
HTML код:

<input name="touch_screen" value="0" type="hidden"><input name="touch_screen" id="touch_screen" value="1" checked="checked" type="checkbox">
Следующий код получает только первый (hidden) чекбокс, а нужен (как я уже говорил) второй.
Код:

function GetFieldValue(fromForm: IHTMLFormElement;
  const fieldName: string): string;
var
  field: IHTMLElement;
begin
  field := fromForm.Item(fieldName,'') as IHTMLElement;
(...)

Надеюсь на вашу помощь.

41stNocker 22-01-2011 04:49 1594475

Вопрос снят.
Проблему решил так:
Код:

var
items: IHTMLElementCollection;
b:boolean;
begin
  field := theForm.Item(fieldName,instance) as IHTMLElement;
  if Assigned(field) then
    if field.tagName = 'INPUT' then
    begin
      inputField := field as IHTMLInputElement;
      if inputField.type_='hidden' then begin
        items:=(fromForm.tags('INPUT') as IHTMLElementCollection);
        b:=false;
        for i:=0 to items.length-1 do
        if (items.item(i,0) as IHTMLInputElement).name=fieldName then
          if b then begin
                      inputField:=(items.item(i,0) as IHTMLInputElement);
                      break
                    end
              else b:=true;
      end;
    end;
(...)



Время: 06:06.

Время: 06:06.
© OSzone.net 2001-