[Javascript] preise berechnen

ne0

Cadet 2nd Year
Registriert
Aug. 2003
Beiträge
27
hi

ich habe verschiedene selectboxen, die eine beschreibung und einen wert haben. Und jetzt wollte ich das so machen, das wenn man die sachen halt auswählt, sofort hinten der Preis ausgerechnet wird (values addieren), also ohne refresh oder so. javascript viel mir da sofort ein, und jetzt bräuchte ich hilfe, wie ich das bewerkstellige

ich hab mich ein wenig schlau gemacht, und kann jetzt schon per onchange in der selectbox den browser auf eine url weiterleiten. Das soll er aber nicht machen, sondern halt einfach nur den wert ausgeben.

hier mal der quelltext
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="">
  <br>
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td><select name="select">
          <option value="100">artikel1</option>
          <option value="200">artikel2</option>
        </select></td>
      <td><select name="select2">
          <option value="100">artikel1</option>
          <option value="200">artikel2</option>
        </select></td>
      <td><select name="select3">
          <option value="100" selected>artikel1</option>
          <option value="200">artikel2</option>
        </select></td>
      <td>endsumme:zB 300</td>
    </tr>
  </table>
  <br>
</form>
</body>
</html>
oder hier

http://www.skwnw.com/csgamingde/beispiel.htm

danke ne0
 
Moinsen.

Hier ein einfaches, nicht verschachteltes und leicht nachzuvollziehendes Beispiel:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Unbenanntes Dokument</title>
<script language="javascript">
var summe = 0;
function prepare(){
summe = parseInt(document.all.form1.liste1.value) + parseInt(document.all.form1.liste2.value) + parseInt(document.all.form1.liste3.value);
document.all.summe.innerHTML = summe;
}

function calculate(){
summe = parseInt(document.all.form1.liste1.value) + parseInt(document.all.form1.liste2.value) + parseInt(document.all.form1.liste3.value);
document.all.summe.innerHTML = summe;
}
</script>
</head>

<body onLoad="prepare()">
<form name="form1" method="post" action="">
<br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><select name="liste1" id="liste1" onChange="calculate()">
<option value="100">artikel1</option>
<option value="200">artikel2</option>
</select></td>
<td><select name="liste2" id="liste2" onChange="calculate()">
<option value="100">artikel1</option>
<option value="200">artikel2</option>
</select></td>
<td><select name="liste3" id="liste3" onChange="calculate()">
<option value="100" selected>artikel1</option>
<option value="200">artikel2</option>
</select></td>
<td><p id="summe">0</p></td>
</tr>
</table>
<br>
</form>
</body>
</html>


Hoffe es hilft Dir
 
hi

danke..du bist genial..is genau das was ich wollte...vielen dank für die hilfe :)
 
Kein Problem :)

Diese Methode kann man auch für viele andere Bereiche einsetzen...
 
hi

jetzt habe ich ein problem :(

ich habe jetzt 2 radiobuttons drinne, und habe mir jetzt ne if abfrage gemacht, die dann eine var definiert.

http://www.skwnw.com/csgamingde/ablage/bestell.htm

es geht darum, das ein server ohne passwort teuer ist, als einer mit passwort.

so aber die radiobuttons sind irgendwie verbuggt, zB kann man was auswählen, und dann neben den radiobutton klicken, und schon kommt wieder was falsches raus.

ich weiss jetzt nicht wo mein fehler liegt :(

bitte um hilfe

vll auch einen optimaleren weg um zu checken ob der radiobutton gewählt ist

danke
ne0
 
Moinsen....

Langsam will ich ne Beteiligung ;)

Mach aus Deinen onChange bei den radiobuttons mal einen onClick, dann funktionierts...

Ein onChange wird auch gefeuert wenn Du irgendwo in die Seite klickst, nachdem die Radiobuttons den Focus hatten....Dadurch verlieren sie nämlich den Focus und das feuert einen onChange Event...

Alles klar !? :)
 
hehe ok danke

klappt :)

ne0

edit: kannst du mir vll sagen warum das nicht im firebird klappt? da geht das irgendwie garnet :/
 
Zuletzt bearbeitet:
Wer oder was ist Firebird ?
Ich kenn nur ein Auto das diese Bezeichnung trägt...ich unwissender :)
 
Hallo, danke für dieses tolle Beispiel!

Hab nur ein Problem, ich brauch dies für ein Formular, wie mach ich aus dem

<p id="summe"class="summe"></p>

ein

<input type="text"> bzw. besser <input name="" disabled="disabled"> ?

Hab das schon probiert, mit id=summe, aber es gibt nichts mehr aus.

Danke
Ergänzung ()

PS: Hab es selber gelöst bei beiden function eintragen statt:

document.all.summe.innerHTML = summe;

dieses:

document.forms[0].summe.value = summe;


Das Input sieht so aus:

<input id="summe1" name="summe" disabled="disabled">
 
Zuletzt bearbeitet:
Krass, ich lese mir das am Anfang durch, denke mir "lul, was soll das?!? So hat man vor 15 Jahren mal mit JavaScript ..."

Dann schaue ich aufs Datum.

!"Danke fürs Ausgraben."
 
Zurück
Oben