franc: Formular-Submit auslösen mit URL

Hallo,

eine ganz einfache Frage, ich erinnere mich nicht mehr wie das geht:

Wie löse ich per url direkt den Submit-Button eines Formulars aus, geht das überhaupt?

Also meine Seite:

http://example.org/index.html

Mein Formular

<form name="myform" >
<input type="submit">
</form>

Welche URL muss ich jetzt aufrufen, damit direkt der submit ausgelöst wird?

Danke, Gruß, franc

  1. <form name="myform" action="index.html">
    <input type="submit">
    </form>

    So so wird das Formular auf deine eigene Seite ausgeführt.

    1. <form name="myform" action="do_some_javascript();">
       <input type="submit">
      </form>

      Welche _URL_ muss ich aufrufen um das Formular abzusenden?
      Geht das nicht direkt über eine url?

      1. Hi,

        <form name="myform" action="do_some_javascript();">
        <input type="submit">
        </form>

        Welche _URL_ muss ich aufrufen um das Formular abzusenden?
        Geht das nicht direkt über eine url?

        Du hast ein Fehlverständnis, was eine URL ist. Eine URL ist eine universell gültige Adresse für eine Ressource (etwa ein HTML-Dokument).

        Bitte beschreibe in deinen Worten, was du erreichen willst.
        Willst du mit dem Submit-Button eine JS-Funktion aufrufen? Willst du aus einer JS-Funktion dein Formular absenden? Willst du mit Hilfe eines "normalen" Links dein Formular abschicken?

        Bis die Tage,
        Matti

        1. Bitte beschreibe in deinen Worten, was du erreichen willst.
          Willst du mit dem Submit-Button eine JS-Funktion aufrufen? Willst du aus einer JS-Funktion dein Formular absenden? Willst du mit Hilfe eines "normalen" Links dein Formular abschicken?

          Das sag ich doch, ich will mit Hilfe eines normalen Links mein Formular abschicken. Ich hab zum Link URL gesagt, das war natürlich falsch, mindestens sehr ungenau.
          Ich will nicht mal ein Javascript anstossen, sondern nur mit Hilfe eines Links einen SubmitButton klicken.

          Geht das nicht?

          1. Hi,

            Das sag ich doch, ich will mit Hilfe eines normalen Links mein Formular abschicken.

            Wenn du es so genau gesagt hättest, hätte ich es auch verstanden.

            Ich will nicht mal ein Javascript anstossen, sondern nur mit Hilfe eines Links einen SubmitButton klicken.

            Mit Javascript geht es. Da kannst du einfach den Formularknoten aus dem DOM holen. Dieser Knoten hat eine submit()-Methode, die das macht, was du willst. Und Javascript kannst du in einem Anker im onclick-Handler unterbringen, was gleichzeitig bewirkt, dass du auch ein Default-Ziel angeben kannst, wenn der User JS deaktiviert hat.

            Bis die Tage,
            Matti

            1. Mit Javascript geht es. Da kannst du einfach den Formularknoten aus dem DOM holen. Dieser Knoten hat eine submit()-Methode, die das macht, was du willst. Und Javascript kannst du in einem Anker im onclick-Handler unterbringen, was gleichzeitig bewirkt, dass du auch ein Default-Ziel angeben kannst, wenn der User JS deaktiviert hat.

              Ich habe aber keinen Zugriff auf die Seite, kann also dort gar nichts ändern.
              Dann geht es also nicht?
              Ich meine, so ein Submit ist doch auch nur irgendein Request und muss doch letztlich über einen Link ausgeführt werden.
              Bei einem Post-Formular müsste man halt im Request noch die Post-Daten mitgeben, aber wie geht das?

              1. Hi,

                Ich habe aber keinen Zugriff auf die Seite, kann also dort gar nichts ändern.
                Dann geht es also nicht?
                Ich meine, so ein Submit ist doch auch nur irgendein Request und muss doch letztlich über einen Link ausgeführt werden.
                Bei einem Post-Formular müsste man halt im Request noch die Post-Daten mitgeben, aber wie geht das?

                Du baust dir einen HTTP-Request zusammen und schreibst darin das hinein, was du abschicken willst. In praktisch jeder Programmiersprache gibt es Hilfsbibliotheken/-Module/wasauchimmer, welche dir beim Zusammenbauen helfen.

                Helfen kann dir z.B. alles, was irgendwie mit curl zusammenhängt, sei es das Kommandozeilentool oder die diversen Module.

                Einen GET-Request kannst du einfach innerhalb der Adressleiste eines Browsers zusammenstellen.

                Bis die Tage,
                Matti

                1. Helfen kann dir z.B. alles, was irgendwie mit curl zusammenhängt, sei es das Kommandozeilentool oder die diversen Module.

                  curl will ich auch verwenden, aber auch hier weiß ich nicht, wie ich das submit auslöse. Das Submit wird auf der Seite nämlich nur dafür verwendet, um Javascript-Funktionen auszulösen, also es wird keine Seite aufgerufen vom form (action="").

                  1. Hi,

                    curl will ich auch verwenden, aber auch hier weiß ich nicht, wie ich das submit auslöse.

                    um ein Formular abzuschicken, das sich auf einer bestimmten Seite befindet, musst Du in die Seite eingreifen. Um ein gleichwertiges Formular abzuschicken, kannst Du es auf einer eigenen Seite nachbauen und dort einen automatischen Versand vornehmen. Die ursprüngliche Seite hat dann nichts mehr mit dem Vorgang zu tun, sie kann entfernt werden oder angeln gehen oder so.

                    Das Submit wird auf der Seite nämlich nur dafür verwendet, um Javascript-Funktionen auszulösen, also es wird keine Seite aufgerufen vom form (action="").

                    Was redest Du dann die ganze Zeit von Formular absenden? Das willst Du offenbar gar nicht. Du willst JavaScript-Funktionen aufrufen. Dies geht, wenn sie sich in einer bestimmten Seite befinden, indem Du in diese Seite eingreifst. Kannst Du das nicht, hängt es von den speziellen JavaScript-Funktionen ab, ob Du sie nachbauen bzw. ihre Funktionalität nachbilden kannst.

                    Cheatah

                    --
                    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                    X-Will-Answer-Email: No
                    X-Please-Search-Archive-First: Absolutely Yes
                    1. Du willst JavaScript-Funktionen aufrufen.... Kannst Du das nicht, hängt es von den speziellen JavaScript-Funktionen ab, ob Du sie nachbauen bzw. ihre Funktionalität nachbilden kannst.

                      Langsam verstehe ich. Wenn ich auf einer Seite ein Formular habe, dessen action-Eigenschaft leer ist, dann wird beim Submit-Ereignis gar kein Request ausgelöst, d.h. wenn ich in meinem Browser auf das Submit klicke, wird gar nichts zum Server geschickt.
                      Wenn nun im Submit Javascript untergebracht ist, dann hat das mit dem Formular gar nichts zu tun.
                      Das Formular wird missbraucht!

                      Wenn ich nun so ein Pseudoformular automatisiert absenden will, dann muss ich, wie du mir empfohlen hast, das JS anschauen, das dort aufgerufen wird und schauen, was letztlich dann hierdurch zum Server gesendet wird.

                      Was ich damit übrigens machen will, ist automatisiert eine Seite (Virtuozzo) mit (Session-)Login aufrufen und dort dann ein Backup für einen VPS anstossen.

                      1. Moin,

                        Langsam verstehe ich. Wenn ich auf einer Seite ein Formular habe, dessen action-Eigenschaft leer ist, dann wird beim Submit-Ereignis gar kein Request ausgelöst, d.h. wenn ich in meinem Browser auf das Submit klicke, wird gar nichts zum Server geschickt.

                        falsch: Wenn das action-Attribut leer ist (also vorhanden, aber ein String der Länge Null), dann wird das Formular an die Adresse geschickt, von der es auch geladen wurde. Lässt du das action-Attribut dagegen ganz weg, hast du ungültiges HTML und musst mit allerhand Überraschungen rechnen, die dein Browser dann bieten könnte.

                        Wenn nun im Submit Javascript untergebracht ist, dann hat das mit dem Formular gar nichts zu tun.
                        Das Formular wird missbraucht!

                        Richtig.

                        Wenn ich nun so ein Pseudoformular automatisiert absenden will, dann muss ich, wie du mir empfohlen hast, das JS anschauen, das dort aufgerufen wird und schauen, was letztlich dann hierdurch zum Server gesendet wird.

                        Genau, und dieses JS oder etwas Entsprechendes dann auf anderem Weg aufrufen.

                        Was ich damit übrigens machen will, ist automatisiert eine Seite (Virtuozzo) mit (Session-)Login aufrufen und dort dann ein Backup für einen VPS anstossen.

                        Dann ist das mit dem Nachbauen des Formulars so vermutlich nicht möglich, weil die Gegenstelle beim Abruf des leeren Formulars eine Session startet und dir die Session-ID in einem Cookie mitgibt. Und diese Session würde dir fehlen, wenn du die an sich richtigen Formulardaten auf anderem Weg abschickst.

                        Ich kenne den Service nicht, den du beschreibst. Aber wenn der Betreiber nicht alternativ eine Schnittstelle zur Verfügung stellt, die sich für eine Automatisierung eignet, wird's schwierig.

                        So long,
                         Martin

                        --
                        Rizinus hat sich angeblich als sehr gutes Mittel gegen Husten bewährt.
                        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                        1. falsch: Wenn das action-Attribut leer ist (also vorhanden, aber ein String der Länge Null), dann wird das Formular an die Adresse geschickt, von der es auch geladen wurde. Lässt du das action-Attribut dagegen ganz weg, hast du ungültiges HTML und musst mit allerhand Überraschungen rechnen, die dein Browser dann bieten könnte.

                          Ich kenne den Service nicht, den du beschreibst. Aber wenn der Betreiber nicht alternativ eine Schnittstelle zur Verfügung stellt, die sich für eine Automatisierung eignet, wird's schwierig.

                          OK, jetzt weiß ich einigermassen bescheid.
                          Danke an alle!!!
                          Und gutes neues Jahr 2012 wünsch ich dazu!

                          Gruß, franc

                          1. Hallo,

                            Und gutes neues Jahr 2012 wünsch ich dazu!

                            ja herzlichen Dank auch, aber jetzt kümmern wir uns doch erstmal um 2011. :-)
                            Dir auch einen guten Start ins neue Jahr!

                            Ciao,
                             Martin

                            --
                            Zwei Stammtischbrüder:
                            Hier steht, dass laut Statistik über 60 Prozent aller Ehefrauen fremdgehen.
                            Was soll ich mit dieser Information? Ich brauche Namen, Fotos, Telefonnummern ... !
                            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
              2. Hi,

                Ich habe aber keinen Zugriff auf die Seite, kann also dort gar nichts ändern.

                wenn in der Seite nichts vorgesehen ist, um das Formular bei ihrem Aufruf abzusenden, geht es also nicht.

                Ich meine, so ein Submit ist doch auch nur irgendein Request

                Ja, und der führt _zu_ einer URL, nicht _von_ einer.

                und muss doch letztlich über einen Link ausgeführt werden.

                Nein. Das Formular befindet sich auf einer Seite, die vermutlich eine URL hat; ob und wann das Formular abgesendet wird, hat jedoch mit der Position(!) der Seite selbst nichts zu tun.

                Bei einem Post-Formular müsste man halt im Request noch die Post-Daten mitgeben, aber wie geht das?

                Über ein Formular mit der Methode POST. Innerhalb eines Browsers ist dies die einzige Möglichkeit. Auf welcher Seite dieses Formular ist und welche URL sie hat, ist dabei irrelevant.

                Cheatah

                --
                X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. Bei einem Post-Formular müsste man halt im Request noch die Post-Daten mitgeben, aber wie geht das?

                  Über ein Formular mit der Methode POST. Innerhalb eines Browsers ist dies die einzige Möglichkeit. Auf welcher Seite dieses Formular ist und welche URL sie hat, ist dabei irrelevant.

                  Jetzt habe ich auf dem cURL-Tutorial, also dort:

                  http://curl.haxx.se/docs/httpscripting.html

                  unter POST folgendes gefunden, mit dem man ein Formular absenden kann:

                  curl --data "birthyear=1905&press=%20OK%20" http://www.hotmail.com/when/junk.cgi

                  Im Beispiel hat das Form aber die action="junk.cgi", das hat das mir vorliegende Formular nicht, da werden nur im submit selbst ein paar Javascriptfunktionen ausgeführt.
                  Ich vermute schwerst, dass ich also mit curl nicht weiterkomme, weil das kein JS kann.

  2. eine ganz einfache Frage, ich erinnere mich nicht mehr wie das geht:

    Wie löse ich per url direkt den Submit-Button eines Formulars aus, geht das überhaupt?

    Also meine Seite:

    http://example.org/index.html

    Mein Formular

    <form name="myform" >
    <input type="submit">
    </form>

    Welche URL muss ich jetzt aufrufen, damit direkt der submit ausgelöst wird?

    Die Antwort zu deiner disparaten Problemdarstellung lautet:

    Ein Formular mit_

    <form action="http://example.org/" method="post">  
    <input name="parameter" value="wert">  
    <input type="submit">  
    </form>  
    
    

    Kann auch als Link mit fixierten Werten geschrieben werden.

    <a href="http://example.org/?parameter=wert">predefined</a>  
    
    

    Es ist zu beachten, dass die URI im Link korrekt kodiert sein muss.

    mfg Beat

    --
    Aktuell:
    Die NATO
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. Mahlzeit Beat,

      Ein Formular mit_

      <form action="http://example.org/" method="post">

      <input name="parameter" value="wert">
      <input type="submit">
      </form>

      
      > Kann auch als Link mit fixierten Werten geschrieben werden.  
      >   
      > ~~~html
      
      <a href="http://example.org/?parameter=wert">predefined</a>  
      
      > 
      
      

      Kann es zwar - aber es ist nicht dasselbe (bzw. hat nicht die selben Auswirkungen). Im ersten Fall wird der Parameter per POST an das Formularziel geschickt, im zweiten Fall per GET.

      Evtl. behandelt die Ressource, die sich hinter diesem Formularziel verbirgt, POST-Parameter ja anders als GET-Parameter.

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|