JavaScript Kalkulation in Input und Option Fileds

madirfan

Erfahrenes Mitglied
hi leute

frage.. ich hab hier hier ein Script und eine einfache kalkulation zu machen..
leider geht sie nicht mit den "select >> option" field.

Irgend eine idee warum?

Javascript:
<script type="text/javascript"><!--
function updatesum() {

var val1=0
var val2=0
var val3=0
var val4=0

if (document.form.sum1.value != "") { val1 = 1 }
if (document.form.sum2.value != "") { val2 = 2 }
if (document.form.sum3.value != "") { val3 = 3 }
if (document.form.sum4.value != "") { val4 = 4 }

document.form.sum.value = val1 + val2 + val3 + val4;
}
//--></script>

<body>

<form name="form">
Enter a number:
<input name="sum1" onChange="updatesum()" />
and another number:
<input name="sum2"  onChange="updatesum()" />

<select onChange="updatesum()">
<option name="sum3" value="Gebogen">Gebogen</option>
<option  name="sum4"  value="Gerade">Gerade</option>
</select> 

Their sum is:
<input name="sum" readonly style="border:0px;">
</form>

</body>
 
Zuletzt bearbeitet von einem Moderator:
  1. Es wird kein Ergebnis dargestellt. eine kalkulation findet also nicht statt..

  2. <input name="sum" readonly style="border:0px;">
 
Code:
if (document.form.sum1.value != "") { val1 = 1 }
if (document.form.sum2.value != "") { val2 = 2 }
if (document.form.sum3.value != "") { val3 = 3 }
if (document.form.sum4.value != "") { val4 = 4 }
Mir ist nicht klar, was Du damit bezwecken willst. Du trägst jeweils einen festen Wert in die Variablen ein, egal, was in den Eingabefeldern steht, bzw. welche Option gewählt wurde.
Beschreib doch mal genauer wie und was Du mit den Werten berechnen möchtest.
 
also.. was ich vor hatte war:
Ich gebe feste werte "preise" im Javascript ein..
val1 =1
val1 =2
val1 =3

wenn user im Input feldern UND option Feld was eingibt/selektiert, findet eine kalkulation des preises statt was am ende dargestellt wird.

val1 =1
val1 =2
val1 =3

= 6€

Input feldern kalkulation habe ich soweit hinbekommen..aber nicht beim option Feld
 
die spielen eine ROLL..
wenn der User ein Input Feld NICHT ausfüllt, sollte das auch NICHT berechnet werden..

val1 =1
val2 =2
val3 =3 // option select 1
val4 =4 // option select 2

input1 = NICHT ausgefüllt
input2 = ausgefüllt
option Feld = select1

= 5 €

ODER
input1 = NICHT ausgefüllt
input2 = ausgefüllt
option Feld = select2

= 6€

ODER

input1 = ausgefüllt
input2 = ausgefüllt
option Feld = select2

= 7€
 
Aber die Werte der Optionen des letzten Select sind doch gar nicht nummerisch, sondern lauten "gebogen" und "gerade"?
 
Hallo madirfan

Du hast im wesentlichen 2 konzeptionelle Fehler gemacht:
1. Auskommentierte Scripts haben es so an sich wenig zu tun.
2. In einem select greifst du nicht auf die options zu sondern auf das select. Das select hat eine value, nicht die option

Also nicht den einzelnen Optionen einen Namen geben sondern dem select und dann "value" des selects prüfen auf die verschiedenen Optionswerte.

Zudem noch ein paar stilistische Hinweise:
- Verwende Semikolons
- Rücke deinen Code ein

Grüsse
Cromon
 
Zurück