-1

TWebBrowser でフォームに入力する次の Delphi コードがあります。

procedure SetFieldValue(theForm: IHTMLFormElement; const fieldName: string; const newValue: string);
   var
     field: IHTMLElement;
     inputField: IHTMLInputElement;
     selectField: IHTMLSelectElement;
    textField: IHTMLTextAreaElement;
begin
  field := theForm.Item(fieldName, '') as IHTMLElement;
  if Assigned(field) then
  begin
    if field.tagName = 'INPUT' then
    begin
      inputField := field as IHTMLInputElement;
      // Make the change below to catch checks and radios.
      if (inputField.type_ = 'checkbox') or (inputField.type_ = 'radio') then
      begin
        if newValue = 'Y' then
          inputField.checked := True
        else
          inputField.checked := False;
      end
      else
        inputField.value := newValue;
    end
    else if field.tagName = 'SELECT' then
    begin
      selectField := field as IHTMLSelectElement;
      selectField.value := newValue;
    end
    else if field.tagName = 'TEXTAREA' then
    begin
      textField := field as IHTMLTextAreaElement;
      textField.value := newValue;
    end;
  end;
end;

HTML ソースは次の例のようになります。

<select name="xosid">
   <option value="" selected>-- choose one --</option>
   <option value="first">This is one</option>
   <option value="second">Another</option>
</select>

値を知らなくてもドロップダウンから「別」を選択できるように上記の関数を変更したいと思います...

助言がありますか?

前もって感謝します、

ゾルト

4

2 に答える 2