Variabel in read only feld ?
gary
- javascript
0 Kai3450 David Tibbe
Hallihallo,
zu später Stunde noch ne Frage für Morgen:
Ich habe z.B. eine Variable mit einem berechneten Wert. Nun möchte ich diesen Wert in einem readonly Formularfeld ausgeben.(Der Kunde soll nicht die möglichkeit haben, seine preise selber einzutippen, deswegem Eingabe gesperrt.
Das hab ich bis Jetzt geschafft:
<html>
<head>
<title>Testwert Zahl 5 ausgeben</title>
<script type="text/javascript">
var Feldausgabe = 5;
</script>
</head>
<body>
<form action="input_text_value.htm">
<p><input name="preis" type="text" size="8" value="Feldausgabe" readonly></p>
</form>
</body>
</html>
Ich habe hinter value mit und ohne "" probiert. Vielleicht liegt es aber auch an der type="text" Einstellung. Ein Schlüsselwort für Zahlen habe ich nicht gefunden.
MfG
gary
Grütze .. äh ... Grüße!
<script type="text/javascript">
var Feldausgabe = 5;
</script>
<p><input name="preis" type="text" size="8" value="Feldausgabe" readonly></p>
Ich habe hinter value mit und ohne "" probiert. Vielleicht liegt es aber auch an der type="text" Einstellung. Ein Schlüsselwort für Zahlen habe ich nicht gefunden.
Das Attribut value im <input>
brauchst du nur, wenn du eine Vorbelegung haben willst.
und im Scriptbereich:
var Feldausgabe = 5;
document.getElementsByName("preis")[0].value = Feldausgabe;
Das funktioniert aber genau so, wie ich es geschrieben habe nur, wenn NUR dieses
eine Element den Namen "preis" trägt oder es das erste Element im html mit diesem Namen
ist (index 0). Ansonsten muß der Index entsprechend erhöht werden.
Wenn nur ein Element "preis" heißen soll, ist es besser, statt oder zusätzlich zu dem Namen
eine Id zu vergeben: <input id="preis" ...>
und dann mit
document.getElementById("preis").value = Feldausgabe;
den Wert zu setzen.
Cü
Kai
Hallo zusammen,
Mein Dank an euch beide. Ich habe aber allerdings die Version vom Kai gebraucht.
Beim getElementsByName Befehl habe ich aber komischerweise den Feldindexwert in der eckigen Klammer [] immer auf null lassen müssen, und dies obwohl ich insgesamt 13 Ausgabefelder habe. (mit Ausgabefeld meine ich readonly Formularfelder. Wie auch immer es funktioniert soweit einwandfrei.
Danke nochmals gruss gary
Grütze .. äh ... Grüße!
Beim getElementsByName Befehl habe ich aber komischerweise den Feldindexwert in der eckigen Klammer [] immer auf null lassen müssen, und dies obwohl ich insgesamt 13 Ausgabefelder habe.
Aber wahrscheinlich nur eines davon mit dem Namen "preis", oder es ist das erste
im HTML mit name="preis" . Daher muß dann die [0] bleiben.
Anders wäre es, wenn man getElementsByTagName("input")
benutzen würde, dann
müßte der Index auf die entsprechende Position angepaßt werden.
Cü
Kai
Hallo gary,
Der Kunde soll nicht die möglichkeit haben, seine preise selber einzutippen, deswegem Eingabe gesperrt.
Warum willst du den Wert per JS eingeben? In dem gegebenen Stück Code kann er besser direkt per value angegeben werden. Wenn du ihn per JS erst zusammen rechnest ist Kais Weg richtig.
Dennoch gilt: Berechne den Preis noch einmal auf dem Server. Traue nie Daten, die vom Client kommen.
Schließlich kann der Kunde auch per JavaScript den Wert verändern... das kannst du auch nicht unterbinden.
Grüße
David