Button außerhalb eines forms drücken

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Nash, 7. August 2006 .

  1. 7. August 2006
    Hi,

    Ich programmiere grade so fröhlich vor mich hin mit einem WebBroswer in mein Programm.
    Nun habe ich das Problem das ich in dem Webbrowser ein Formular abschicken will, aber der Button außerhalb eins Forms liegt.

    Siehe Code:


    Code:
    </form>
    <div style="width: 100%; text-align: center;">
     <input class="submitlg" value="Suchen" type="button" onclick="submit_SB_Form()">
    </div> 
    Im Prinzip würde ich ihn ja über WebBrowser1.Document.Forms(0).elements(0).click ansprechen können, nur ist er wie gesagt außerhalb eines Forms.

    Ich such also eine Lösung wie ich das Formular trotzdem absende.

    Für jeden vernünftigen Vorschlag gibt's natürlich einen 10er.

    Thx
     
  2. 7. August 2006
    hmm...
    Kurze Frage: Muss der Button auserhalb des Forms liegen? (Wenn ja wieso? Versteh net ganz wieso du den nicht in den form tag packst)

    mfg :tongue:
     
  3. 7. August 2006
    Also der muss da drausen liegen, weils irgenwer so programmiert hat..

    Also ich kanns nicht umschreiben.

    Gibts da ne Möglichkeit mit Get oder Post , kenn mich da nicht so aus.

    P.S.: das ist die Seite von Ryanair
     
  4. 8. August 2006
    hey ho!

    du kannst probiern auf das dokument zuzugreifen auf das das formular verlinkt ist und in die browserzeile für jedes feld deine angaben manuel schreiben.. zB

    www.page.de/filex.php?x="asd"&y="dssa"

    kann aber nur gehn wenn er die variablen mit GET übergibt... glaube aber kaum das es geht. würde dir einfach empfehlen den webmaster mal davon in kenntnis zu setzen
     
  5. 8. August 2006
    Das geht leider alles nicht.

    Kennt sich jemand mit "SendMessage" aus.

    Versuche es jetzt damit. Müsste nur 14*{Tab} und dann 1*{Enter} an den Browser sende.


    thx für eure Vorschläge
    Nash
     
  6. 12. August 2006
    jo dann mach das doch. aus dem kopf würde ich dir jetzt sowas tippen, kp obs funzt..

    Code:
    for i=0 to 13
     SendKeys(vbTab)
    next i
    SendKeys(vbEnter)
    vllt noch sowas wie WebBrowser1.setFocus oder so davor, musst du ausprobieren.

    Sag wenns geklappt hat

    Gruß,
    Figger
     
  7. 14. August 2006
    Klar geht das.
    Code:
    WebBrowser1.SetFocus
    for i=0 to 13
     SendKeys(vbTab)
    next i
    SendKeys(vbEnter)
    Form1.SetFocus
    Will aber das das Programm das ganze auch tut wenn es minimiert ist.

    Deshalb dachte ich an Sendmessage

    Das wäre irgendwie so... das "wäre irgendwie" ist das Problem

    Code:
    Const WM_KEYDOWN = &H100
    Const VK_RETURN = &HD 'Enter Taste
    Const VK_BACK = &H8 'Backspace Taste
    Const VK_TAB = &H9 'Tab Taste
    
    Private Declare Function SendMessage Lib "user32"_
    Alias "SendMessageA" (ByVal hWnd As Long,_
     ByVal wMsg As Long, ByVal wParam As Long,_
    lParam As Any) As Long
    
    
    Dim n As Long
     For n = 1 To 17
     SendMessage Webbrowser1.hWnd, WM_KEYDOWN, vbKeyTab, 0
     Next n
     SendMessage Webbrowser1.hWnd, WM_KEYDOWN, vbKeyReturn, 0
    
    Mfg
    Nash

    10er gäbe es trotzdem, hattes du aber schon
     
  8. 15. August 2006
    Warum deklarierst du oben die Konstatnen wenn du sie unten gar nicht verwendest? o_0

    oben:
    Code:
    Const WM_KEYDOWN = &H100
    Const VK_RETURN = &HD 'Enter Taste
    Const VK_BACK = &H8 'Backspace Taste
    Const VK_TAB = &H9 'Tab Taste
    aber unten verwendest du vbKeyTab und vbKey Return... Ansonsten kann ich dir auch nix weiter sagen..

    Gruß,
    Figger
     
  9. 18. August 2006
    hab nur den falschen Code kopiert...

    hab schon mehrere Sachen versucht, das ganze geht aber immer noch nicht


    Hoffe das vielleicht noch jemand ne Idee hat ::

    mfg Nash

    P.S.: 10er war schon raus
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.