Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Выбор одного из двух одноимённых элементов формы


Автор: 41stNocker 22.1.2011, 04:00
Здравствуйте. 
Собственно сабж. Получить нужно доступ ко второму полю.
Дополнительно:
Первое поле всегда 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.1.2011, 04:49
Вопрос снят.
Проблему решил так:
Код
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;
(...)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)