Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Werte aus Input-Feld werden nicht übernommen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Werte aus Input-Feld werden nicht übernommen

    Hallo,

    ich schreibe einen automatisch ermittelten Wert durch JavaScript in ein Input-Feld:

    Der HTML-Teil:
    Code:
    Kilometerzeit (berechnet)
    <input type="text" name="akt_km_schnitt_auto" id="akt_km_schnitt_auto" disabled="disabled" />
    Der JavaScript-Teil:
    Code:
    function km_schnitt() {
    	var km = document.getElementById("akt_km").value;
    	var km = km.replace(/,/, ".");
    	var zeit = document.getElementById("akt_zeit").value;
    	var ausgabe = zeit / km;
    	var ausgabe = ausgabe * 100;
    	var ausgabe = Math.round(ausgabe);
    	var ausgabe = ausgabe / 100;
    	return ausgabe;
    }
    Das klappt soweit auch. Der berechnete Wert wird im Feld angezeigt.

    Nun sollen die Formulardaten an eine PHP-Script geschickt und in eine Datenbank geschrieben werden.

    Die übermittelten Daten werden derzeit wie folgt in die Variablen übernommen:
    PHP-Code:
    $akt_km_schnitt_auto $_POST['akt_km_schnitt_auto']; 
    Da erhalte ich dann aber die folgende Fehlermeldung:
    Notice: Undefined index: akt_km_schnitt_auto in /var/www/lauf/eintragen.php on line 40
    Ich habe mit JavaScript leider noch nicht viel Erfahrung, aber ich vermute mal anhand der Fehlermeldung von PHP, dass der Wert dem Feld durch JavaScript zwar zugewiesen wird, dieser aber beim Absenden nicht mit übertragen wird.

    Auch eine Änderung der JavaScript-Funktion auf
    Code:
    function km_schnitt() {
    	var km = document.getElementById("akt_km").value;
    	var km = km.replace(/,/, ".");
    	var zeit = document.getElementById("akt_zeit").value;
    	var ausgabe = zeit / km;
    	var ausgabe = ausgabe * 100;
    	var ausgabe = Math.round(ausgabe);
    	var ausgabe = ausgabe / 100;
    	document.getElementById('akt_km_schnitt_auto').value = ausgabe;
    	return;
    }
    hat dieses Problem bislang nicht gelöst.

    Wie mache ich das richtig, so dass mein PHP-Script auch den berechneten und angezeigten Wert übermittelt bekommt?

  • #2
    Vermutlich hast du das Formular zu diesem Zeitpunkt noch nicht abgeschickt. Du musst Parameter, die beim Aufruf gesetzt sein können oder auch nicht, immer auf Existenz prüfen!
    [URL]http://hallophp.de[/URL]

    Kommentar


    • #3
      Doch das wird abgeschickt.

      Die input-Felder sind in einer anderen php-Datei und werden mittels post an die eintragen.php geschickt. Die Werte aller anderen Felder werden auch problemlos übermittelt. Nur die Werte der durch JavaScript befüllten Felder kommen nicht an bzw. erzeugen obige Fehlermeldung.

      Kommentar


      • #4
        Du hast die Felder ja auch disabled.
        [URL]http://hallophp.de[/URL]

        Kommentar


        • #5
          Daran liegt es. Wenn ich das entferne geht es. Dafür schon einmal Danke!

          Das wiederum ist ungeschickt. Eigentlich sollen die automatisch befüllten Felder "disabled" sein, damit der Benutzer nichts eintragen kann.

          Kommentar


          • #6
            Dann leg ein zweites Feld mit type="hidden" an und lese das per PHP aus

            Kommentar


            • #7
              Du kannst ja noch ein paar hidden - Felder mit dem gleichen Inhalt anlegen und diese auswerten oder du übergibst die Werte zusätzlich als GET-Parameter:
              Code:
              <form action="?akt_km_schnitt_auto=foo" method="post">
              [URL]http://hallophp.de[/URL]

              Kommentar


              • #8
                Eigentlich sollen die automatisch befüllten Felder "disabled" sein, damit der Benutzer nichts eintragen kann.
                Dafür gibts readonly.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Habe ich gerade gemacht. Funktioniert so natürlich tadellos.

                  readonly ist natürlich noch besser... Manchmal sieht man den Wald vor lauter Bäumen nicht.

                  Vielen Dank!

                  Kommentar


                  • #10
                    Dafür gibts readonly.
                    Auch wieder wahr
                    [URL]http://hallophp.de[/URL]

                    Kommentar

                    Lädt...
                    X