2 Submit Buttons in 1 Form

  • Ich möchte gerne den ersten Submit Button clicken. Wie mache ich das?
    _IEFormSubmit spricht leider nur den zweiten Button an.
    Am liebsten würde ich den Login Button über den value ansprechen.
    Habe keine Lösung für das Problem.

    Schönen Gruß,
    Patrick

    Code
    html:
    <form id="loginForm" name="loginForm" action="#" onsubmit="changeAction('login');" method="post"></td>
    
    
    		<input type="submit" class="button" value="Login" style="width: 99%;"/>
    
    
    	<input type="submit" class="button" value="Jetzt anmelden und mitspielen" style="width: 99%;" onClick="location.href='index.php?__=register';"/>
    	</form>
  • Hi
    wieso schreibst du dann nicht in den Code des 1. Button

    Spoiler anzeigen
    PHP
    <input type="submit" class="button" value="Login" style="width: 99%;" onClick="location.href='<ZIELDATEI>';"/>

    Du übergibst so nur keine Variablen an deine Zieldatei.
    Die müsstest du dann mit ?....&...an die ZIELDATEI anhängen.

    MfG
    Der_Doc

  • Der_Doc das ist nicht mein Code (aber er funktioniert :-)), deshalb kann ich ihn nicht ändern.

    zemkedesign und alle anderen fleißigen Supporter
    benötige ich für diese Möglichkeit nicht den Namen des Elementes?
    Woher weiß ich, welches Element welche ID zugewiesen bekommt? Ausgabe des aktuellen Elements via Messagebox geht es anscheinend nicht.
    Und viel wichtiger steht:"_IEFormElementGetCollection($oForm,1)" für das erste Element im Formular?
    Bin sehr interessiert!

    Wäre das dann Quasi so?

    Spoiler anzeigen


    #include <IE.au3>
    $oForm = _IEFormGetObjByName ("dieseite.de, "loginForm")
    $oText =_IEFormElementGetCollection($oForm,1)
    _IEAction ( $oText, "click" )

    Einmal editiert, zuletzt von patricks1987 (13. März 2009 um 12:49)

  • So sollte es auch funktionieren:

    [autoit]

    Local $oFormObjects = _IEFormElementGetCollection($oForm)
    Local $oElement = 0
    For $oObject In $oFormObjects
    If _IEFormElementGetValue($oElement) = "Login" Then
    $oElement = $oObject
    ExitLoop
    EndIf
    Next

    [/autoit]
  • Beide Methoden konnte ich leider nicht umsetzen, da ich anscheinend etwas falsch ist ...
    habe jetzt mal ein test Formular aufgebaut. und möchte gerne den button mit dem value "test" via Skript klicken
    Der erkennt auch irgendwie nur 1 Element, da ich nur 1ne msgBox erhalte

    PHP
    <html>
    <head></head>
    <body>
    <form id="loginForm" name="loginForm" action="#" method="post">
    <input type="submit" class="button" value="Jetzt anmelden und">
    <input type="submit" class="button" value="test" onClick="alert('login!');" />
    </form>
    </body>
    </html>
    [autoit]

    #include <IE.au3>
    $oIE = _IECreate("C:/test.html")
    _IELoadWait ($oIE)
    $oForm = _IEFormGetObjByName ($oIE,"loginForm")

    [/autoit][autoit][/autoit][autoit]

    Local $oFormObjects = _IEFormElementGetCollection($oForm)
    Local $oElement = 0
    For $oObject In $oFormObjects
    MsgBox(1,"",_IEFormElementGetValue($oElement))
    If _IEFormElementGetValue($oElement) = "test" Then
    $oElement = $oObject
    ExitLoop
    EndIf
    Next

    [/autoit][autoit][/autoit][autoit]

    _IEAction($oElement, "click")

    [/autoit]
  • bei mir ist die If-Zeile falsch. das muss $oObject in der Abfrage sein. (Zeile 4 bzw 10 bei dir)
    If _IEFormElementGetValue($oObject) = "test" Then

  • Super, danke dir / euch.

    So gehts:

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    $oIE = _IECreate("C:/test.html")
    _IELoadWait ($oIE)
    $oForm = _IEFormGetObjByName ($oIE,"loginForm")

    [/autoit] [autoit][/autoit] [autoit]

    Local $oFormObjects = _IEFormElementGetCollection($oForm)
    Local $oElement = 0
    For $oObject In $oFormObjects
    MsgBox(1,"",_IEFormElementGetValue($oElement))
    If _IEFormElementGetValue($oObject) = "test" Then
    $oElement = $oObject
    ExitLoop
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    _IEAction($oElement, "click")

    [/autoit]