Zum Inhalt springen

Wert in Inputfeld automatisch berechnen


Empfohlene Beiträge

Hallo!

Ich hab folgende Formular in PHP erstellt:

echo "<form method=\"POST\" action=\"pfad\">";
echo "<table width=\"100%\">";

echo "<tr><td align=\"center\"><input size=\"10\" type=\"text\" name=\"menge\" value=\"0\"></td>";
echo "<td align=\"center\"><input size=\"10\" type=\"text\" name=\"stueck\" value=\"0\"></td>";
echo "<td align=\"center\"><input size=\"10\" type=\"text\" name=\"gesamt\" value=\"???\" readonly></td></tr>";

echo "<tr><td align=\"center\"><input type=\"submit\" value=\"<< ERSTELLEN >>\"></td></tr>";
echo "</table></form>";[/PHP]

Nun will ich, dass in das Inputfeld gesamt nichts eingegeben wird, sondern der Betrag sich automatisch aus Menge und Einzelpreis(Stueck) berechnet wird.

Damit nichts eingegeben wird, habe ich schon "readonly" eingebaut.

Wie geht denn das?

:confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Oder ein JavaScript das von den Eingabefeldern bei OnChange aufgerufen wird, die Inhalte derer prüft und dann berechnet.

Mit PHP (was an der Stelle dann auch nicht viel nützt) müsstest du die Werte einlesen, berechnen, das Formular neu aufbauen und die Werte vorbelegen. Das bringt nur dann was wenn irgendwelche Clients JavaScript deaktiviert haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit dem Javascript habe ich schon soweit hingekriegt.

Ohne Schleife hat es auch funktioniert.

Nun in dem Dokument davor frage ich, wieviele Felder es sein sollten, um diese dann in der schleife zu erstellen.

Blos kriege ich jetzt die Felermeldung von JavaScript: document.darst.netto.0 ist NULL oder kein Objekt.

Woran liegt es?

Hier der Ausschnitt aus den Code


echo "<form name=\"darst\" ...>";
...
for($i=0;$i<$anz;$i++)
{

echo "<tr><td align=\"center\"><input size=\"10\" type=\"text\" name=\"menge.".$i."\" onChange=\"javascript:document.darst.netto[$i].value=berechnung($i);\" value=\"\"></td>";
echo "<td align=\"center\"><input size=\"10\" type=\"text\" name=\"stueck.".$i."\" onChange=\"javascript:document.darst.netto[$i].value=berechnung($i);\" value=\"\"></td>";
echo "<td align=\"center\"><input size=\"10\" type=\"text\" name=\"netto.".$i."\" value=\"\" readonly></td></tr>";
}
...

echo "</form>";
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke, mit dem "_" hat es funktioniert.

function berechnung(i)

{

xy = 'menge_'+i;

alert(xy);

menge = document.darst.xy.value; <-- Nun kommt da die gleiche Felermeldung

xz = 'stueck_'+i;

stueck =document.darst.xz.value;

return (menge*stueck);

}

Wie spreche ich den Dokument mit einer Variablen an?

Link zu diesem Kommentar
Auf anderen Seiten teilen

die Funktion ist nicht unbedingt nötig, es sei denn zur Fehlerbehandlung.

hier mal reiner HTML-Code um das zu veranschaulichen:


<form name="darst">

  <input type="text" name="test_1" onchange="document.darst.erg_1.value=this.value * document.darst.test_2.value">


  <input type="text" name="test_2" onchange="document.darst.erg_1.value=this.value * document.darst.test_1.value">


  <input type="text" name="erg_1">

</form>

Vielleicht ginge es auch mit deiner Funktion, allerdings weiss ich nicht, wie man einen String in ein Objekt innerhalb der Hirarchie umwandeln könnte :confused:

MfG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...