Folgendes Problem :
Im IE ist ein Formular gegeben mit massenhaft Checkboxen.
Diese sind aber folgendermassen im QuellCode deklariert :
Code: Alles auswählen
<input type="checkbox" name="groupIDs[]" value="13" />
<input type="checkbox" name="groupIDs[]" value="29" />Wie kann ich jetzt eine bestimmte Checkbox mit einem Haken versehen ?
Bei einer eindeutigen ID nutze ich bisher :
Code: Alles auswählen
  
; Ursprungs Code von "alter Mann", modifiziert von Bisonte
  Enumeration
    #WebInput_Button
    #WebInput_Select
    #WebInput_Input
    #WebInput_CheckBox
  EndEnumeration
Procedure.i WebGadgetInput(Gadget, Mode, ID.s, Text$ = "", Value = 0)
    
    Protected WebBrowser    .IWebBrowser2
    Protected Dispatch      .iDispatch
    Protected Document      .IHTMLDocument3
    Protected Element       .IHTMLElement
    Protected InputElement  .IHTMLInputElement
    Protected SelectElement .IHTMLSelectElement
    
    If Not IsGadget(Gadget)
      If Not GadgetType(Gadget) = #PB_GadgetType_Web
        ProcedureReturn #False
      EndIf
    EndIf
    
    WebBrowser = GetWindowLongPtr_(GadgetID(Gadget), #GWL_USERDATA)
    
    If Not ( WebBrowser\get_Document( @ Dispatch ) = #S_OK )
      Dispatch\Release()
      ProcedureReturn 
    EndIf
    If Not ( Dispatch\QueryInterface( ? IID_IHTMLDocument3 , @ Document ) = #S_OK )
      Document\Release()   
      Dispatch\Release()   
      ProcedureReturn 
    EndIf
    If Not ( Document\getElementById( ID , @ Element ) = #S_OK And Element )
      Debug "getElement Select"
      Document\Release()   
      Dispatch\Release()   
      ProcedureReturn 
    EndIf
    
    Select Mode
      Case #WebInput_Select
        
        If Not ( Element\QueryInterface( ? IID_IHTMLSelectElement , @ SelectElement ) = #S_OK)
          Element\Release()   
          Document\Release()   
          Dispatch\Release()   
          ProcedureReturn #False
        EndIf
        If Not ( SelectElement\put_selectedIndex(Value) = #S_OK)
          SelectElement\Release()
          Element\Release()   
          Document\Release()   
          Dispatch\Release()   
          ProcedureReturn #False
        EndIf
        SelectElement\Release()
        
      Case #WebInput_Button
        Element\click()
        
      Case #WebInput_Input
        If Not ( Element\QueryInterface( ? IID_IHTMLInputElement , @ InputElement ) = #S_OK)
          Element\Release()   
          Document\Release()   
          Dispatch\Release()   
          ProcedureReturn #False
        EndIf
        If Not ( InputElement\put_Value( text$ ) = #S_OK )
          Element\Release()   
          Document\Release()   
          Dispatch\Release()   
          ProcedureReturn #False
        EndIf
        InputElement\Release()   
        
      Case #WebInput_CheckBox
        If Not ( Element\QueryInterface( ? IID_IHTMLInputElement , @ InputElement ) = #S_OK)
          Element\Release()   
          Document\Release()   
          Dispatch\Release()   
          ProcedureReturn #False
        EndIf
        If Not ( InputElement\put_checked( Bool(Value) ) = #S_OK )
          Element\Release()                                   
          Document\Release()   
          Dispatch\Release()   
          ProcedureReturn #False
        EndIf
        InputElement\Release()
        
      Default
        Element\Release()                                   
        Document\Release()   
        Dispatch\Release()  
        ProcedureReturn #False
        
    EndSelect
    
    Element\Release()                                   
    Document\Release()   
    Dispatch\Release()  
    ProcedureReturn #True
    
  EndProcedure
  DataSection
    
    IID_IHTMLRect: ; {3050F4A3-98B5-11CF-BB82-00AA00BDCE0B IHTMLRect}
    Data.l $3050F4A3
    Data.w $98B5, $11CF
    Data.b $BB, $82, $00, $AA, $00, $BD, $CE, $0B
    IID_IHTMLSelectElement: ; { 3050F244-98B5-11CF-BB82-00AA00BDCE0B }
    Data.l $3050F244
    Data.w $98B5 , $11CF
    Data.b $BB , $82 , $00 , $AA , $00 , $BD , $CE , $0B
    IID_IHTMLDocument3:      ; { 3050F485-98B5-11CF-BB82-00AA00BDCE0B }
    Data.l $3050F485
    Data.w $98B5 , $11CF
    Data.b $BB , $82 , $00 , $AA , $00 , $BD , $CE , $0B
    IID_IHTMLInputElement:   ; { 3050f5d2-98b5-11cf-bb82-00aa00bdce0b }
    Data.l $3050F5D2
    Data.w $98B5 , $11CF
    Data.b $BB , $82 , $00 , $AA , $00 , $BD , $CE , $0B
  EndDataSection
WebGadgetInput(#Webgadget, #WebInput_CheckBox, "agbZustimmung", "", 1)
Oder... wie kann ich mir alle HTML Elemente anzeigen lassen... (ID, Name etc.) ... wäre vielleicht auch hilfreich...


 
 