Chrisu: Variable in <form action=

Hallo Forum,

folgende Situation. Ich habe ein Formular, welches beim Klick eines Buttons mittels POST Daten eine bestimmte - unter action - eingetragene URL senden soll.
Jetzt kann ich dir URL unter action aber nicht fest eintragen das sie mittels eines Javascripts von einer Benutzereingabe abhänig zusammengestellt wird.
Vielleicht nochmal anderst erklärt:
Ich öffne eine HTML Seite, und werde mittels Javascript nach einer ID gefragt, diese Eingabe verarbeite ich im Javascript und baue eine URL zusammen. An diese URL, die ich zusammengebaut habe, sollen jetzt mittels POST Formulardaten gesendet werden.
Ich suche also nach einer Zeile in der Form:
<form method=post action=[VARIABLE]>
Kann mir da jemand weiterhelfen ?
Danke schonmal im Vorraus.

Gruß
chrisu

  1. Hello,

    Kann mir da jemand weiterhelfen ?
    Danke schonmal im Vorraus.

    Zäum das Pferd von hinten auf:
    Setze in den onsubmit-Eventhandler einen Funktionsaufruf rein, der die benötigte URL zusammenbaut und das Ergebnis in this.action reinschreibt, bevor er return true aufruft. Bedenke allerdings, dass du mit diesem Vorgehen deine Seite für Nutzer ohne JavaScript komplett unbenutzbar machst.

    MfG
    Rouven

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    Buy when there's blood running in the street and sell when everyone is pounding at your door, clawing to own your equities  --  Wisdom on Wallstreet
  2. Ich suche also nach einer Zeile in der Form:
    <form method=post action=[VARIABLE]>

    Nee, so geht das nicht.

    Du musst die action-Eigenschaft des FORM-Elementes manipulieren, z.B. so:

    var ID = window.prompt('Ihre ID:', '');  
    var elm = document.getElementById('id_des_gesuchten_elementes');  
    elm.action = 'foobar.baz?id=' + ID;
    

    Siechfred

    --
    Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.
    1. Hallo Siechfred,

      vielen Dank für deine Hilfe, habe das ganze jetzt mal zusammen mit meinen Daten (bzw dem Formular) gesetzt, komm aber nicht richtig weiter.
      Ich glaube ich übersehe irgendeinen total banalen Fehler ...
      Das ganze sieht bei mir jetzt so aus:

      <script type="text/javascript">  
        
      var ID = window .prompt('Ihre ID:' , '');  
      var elm = document.getElementById('test');  
      elm.action = 'http://foo.bar/index.php?show=house&id=' + ID;  
        
      </script>
      
        
      <form method="post" id="test">  
        <p>  
          <input value="Klick mich" name="B1" type="submit">  
        </p>  
      </form>
      

      Ergebniss des ganzen ist dass ich beim Aufrufen der HTML Datei den prompt bekomme und beim klicken des Buttons - Endlosschleife quasi ...
      Könnt ihr mir nochmal eine kleine Hilfestellung geben, wo sich der Fehler versteckt ...
      Danke euch

      Chrisu

      1. Hi,

        <script type="text/javascript">

        var ID = window .prompt('Ihre ID:' , '');
        var elm = document.getElementById('test');
        elm.action = 'http://foo.bar/index.php?show=house&id=' + ID;
        </script>

          
        Zu dem Zeitpunkt, wo dieser Code ausgefuehrt wird, gibt es noch gar kein Element mit der ID "test".  
          
        Schau dir [Rouvens Vorschlag](https://forum.selfhtml.org/?t=162716&m=1059124) noch mal an.  
          
        MfG ChrisB
        
        1. Zu dem Zeitpunkt, wo dieser Code ausgefuehrt wird, gibt es noch gar kein Element mit der ID "test".

          ...wusste ich doch dass es ein so banaler Fehler ist ...
          Habe jetzt das Formular vor den Code gesetzt und so geht es jetzt ...
          Das reicht erstmal für meine Ansprüche - danke

          Chrisu

  3. Beim Abschicken des Formulars (onSubmit) eine Javascriptfunktion ausführen, die dann die URL des Forumlars die gewünschte URL ändern.

  4. Mahlzeit,

    Ich suche also nach einer Zeile in der Form:
    <form method=post action=[VARIABLE]>

    So einfach geht das leider nicht.

    Kann mir da jemand weiterhelfen ?

    Da du aber eh mittels Javascript eine URL als Ziel des Formulars zusammenbastelst, kannst du diese URL dem Formular doch einfach http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#form@title=zuweisen ...

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  5. Vielleicht nochmal anderst erklärt:
    Ich öffne eine HTML Seite, und werde mittels Javascript nach einer ID gefragt, diese Eingabe verarbeite ich im Javascript und baue eine URL zusammen. An diese URL, die ich zusammengebaut habe, sollen jetzt mittels POST Formulardaten gesendet werden.

    <form action="...." onsubmit="var id = prompt('ID:', ''); if(id) this.action += '?id=' + id; else return false">  
    
    

    So kannst du darüber hinaus auch abrechen wählen und das Formular wird nicht abgeschickt.

    Struppi.