Hugo: Formular wert auslesen

Hallo,

folgendes Problem:
Ich habe ein Formular, welches ich via JS versende. Also mit einer Funktion und submit().
Es wird diesem Formular nur der Wert eines Radiobutton mitgegeben. Dieser Wert (Zahl) möchte ich gerne in meiner Sendefunktion auslesen.
Wenn ich jedoch versuche auf den Wert mit
document.formular.radioname.value
darauf zuzugreifen, bekommen ich ein undefinied.

Habe ich einen Denkfehler?

Vielen Dank
Hugo

  1. Hallo Hugo,

    Wenn ich jedoch versuche auf den Wert mit
    document.formular.radioname.value
    darauf zuzugreifen, bekommen ich ein undefinied.

    Welche Du das Formualr absendest, wird die selbe Seite (in der sich das Formular befindet) geladen? Wenn Du es nur mit JS auswerten möchtest, ist es nicht nötig, dieses abzusenden. Du könntest den Event: onsubmit() nutzen, Dein Formular mittels JS auszuwerten und, damit es sich nun nicht verschickt, ein return false; mitgeben.

    Sollten sich Dein Formular verschicken müssen, so kannst Du mit search auf alle Parameter des Formulars zugreifen, sofern diese mit GET übermittelt wurden.

    Mit freundlichem Gruß
    Micha

    --
    LeagueEditor JavaScript kostenlose Ligaverwaltung || richtig Messen will gelernt sein
    1. Hi Micha,

      nein, ich versende auf eine andere Seite.
      Als method nutze ich POST. Und onsubmit geht nicht, da ich so gesehen keinen Button habe.

      Trotzdem ne Idee?
      Hugo

      1. Hallo Hugo,

        Du kannst afaik mit JS nicht auf Daten zugreifen, die Du via POST an eine andere Seite übermittelst. Dein Versuch scheitert daran, das in der neuen Seite das Formular nicht mehr existiert. Da es sich jedoch nur um eine Ziffer handelt, könntest Du, wie beschrieben, mit GET auf diese zugreifen.

        Mit freundlichem Gruß
        Micha

        --
        LeagueEditor JavaScript kostenlose Ligaverwaltung || richtig Messen will gelernt sein
        1. Hi Micha,

          ich greife ja auf der sendenden Seite schon darauf zu, zumindest versuche ich es ;-)

          Ideen?

          Danke
          Hugo

          1. ich greife ja auf der sendenden Seite schon darauf zu, zumindest versuche ich es ;-)

            Ideen?

            Es ist kein Problem auf einen Radiobutton zu zugreifen.
            https://forum.selfhtml.org/?t=134549&m=872871

            Struppi.

            --
            Javascript ist toll (Perl auch!)
            1. Hallo,

              danke für eure Hilfe und ganz besonders an Struppi.
              Es hat geklappt.

              Dank euch
              Hugo

          2. Hallo Hugo,

            ich greife ja auf der sendenden Seite schon darauf zu, zumindest versuche ich es ;-)

            Ich habe, nachdem Struppi nun noch einmal explizit auf seinen Lösungsansatz hinwies, Dein Ausgangsposting gelesen. Ich war der Annahme, das Du in der "Empfängerdatei" diese Daten zur Verfügung haben möchtest, dem ist ja nicht so. Ich hatte mich da wohl verlesen. *peinlich*

            So wie er es löst, kannst Du drauf zugreifen.

            Mit freundlichem Gruß
            Micha

            --
            LeagueEditor JavaScript kostenlose Ligaverwaltung || richtig Messen will gelernt sein
  2. Hi !

    darauf zuzugreifen, bekommen ich ein undefinied.

    Habe ich einen Denkfehler?

    Nein, das ist dieser blöde Fehler, den ich auch schon hatte. Mein Workaround:

    <input type=radio name="bla" onclick="my_handler(0)">
    <input type=radio name="bla" onclick="my_handler(1)">

    <script>
    var radio_state=0;

    function my_handler(i) {
       radio_state=i;
    }
    </script>

    So kannst Du über die Variable radio_state rausfinden, welcher Button gedrückt wurde.

    Gruß

    Hans

  3. Es wird diesem Formular nur der Wert eines Radiobutton mitgegeben. Dieser Wert (Zahl) möchte ich gerne in meiner Sendefunktion auslesen.
    Wenn ich jedoch versuche auf den Wert mit
    document.formular.radioname.value
    darauf zuzugreifen, bekommen ich ein undefinied.

    Logisch, du hast ja vermutlich mehrere Radiobuttons mit dem gleichen Namen?
    Dann musst du also rausfinden welcer gewählt wurde und dessen value suchst du:

    function getValue()  
    {  
    for(var i = 0; i < document.formular.radioname.length; i++)  
    if( document.formular.radioname[i].checked)  
    return document.formular.radioname.value;  
    return null;  
    }  
    
    

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. if( document.formular.radioname[i].checked)
      return document.formular.radioname.value;

      *grrr*

      Natürlich:
      return document.formular.radioname[i].value;

      Struppi.

      --
      Javascript ist toll (Perl auch!)
  4. Hell-O!

    Es wird diesem Formular nur der Wert eines Radiobutton mitgegeben. Dieser Wert (Zahl) möchte ich gerne in meiner Sendefunktion auslesen. Wenn ich jedoch versuche auf den Wert mit document.formular.radioname.value darauf zuzugreifen, bekommen ich ein undefinied.

    Du kannst testen, welcher Radiobutton ausgewählt wurde, liest sodann seinen Wert aus und tust damit, was immer du tun möchtest. Beispiel:

    Ein Formular in der HTML-Datei:

    <h1>Welche Band hörst du gerne?</h1>  
    <form name="musiform" action="">  
    <p>  
      <input type="radio" name="musik" value="Poser"> Manowar  
      <input type="radio" name="musik" value="Wimp"> Bon Jovi  
      <input type="radio" name="musik" value="Rocker"> Motöhead  
    </p>  
    <p><input type="button" value="Auswerten" onclick="Sagsmir()"></p>  
    </form>
    

    Und ein bisschen Javascript im Kopfbereich der HTML-Datei:

    function Sagsmir () {  
      for ( i=0; i<document.musiform.musik.length; i++ ) {  
        if (document.musiform.musik[i].checked == true)  
          alert("Du bist ein " + document.musiform.musik[i].value);  
      }  
    }
    

    Statt des "alert" kannst du den Wert auch einer Variablen zuweisen.

    Siechfred

    --
    Hier könnte Ihre Werbung stehen.
    Räucherofen selber gebaut || Das Steuerblog  || RT 221 Erfurt-Altstadt i.V.