Rechnen mit Radiobuttons
Pino
- javascript
Hallo,
ich habe ein ganz spezielles Problem. Ich möchte die Anzahl von 2 Produkten mit Radio-Buttons auswählen. Ich habe mir das folgendermassen vorgestellt:
Man hat in der ersten Tabellenzeile Produkt 1 mit einer Reihe von Radiobuttons. Jeder Radiobutton hat als Wert die Anzahl. Angefangen von 0, dann 1, dann 2 u.s.w.
Wenn man 0 ausgewählt hat, erscheint natürlich kein Preis. Bei eins dann meinetwegen 1 für 1 Euro. Die Preise sollen aber nicht einfach nur addiert werden, sondern von mir festgelegt werden. So kann es passieren, dass man bei Radiobutton 3 nicht 3 euro als Ergebnis bekommt, sondern 2.
In der zweiten Zeile befindet sich dann Produkt 2 das wieder eine Reihe von Radiobuttons hat.
In der dritten Zeile gibt es dann nur noch ein Textfeld, in dem die Summe der 2 oberen Preise zusammenaddiert wird.
Man kann mein Vorhaben sehr schlecht erklären. Aber vielleicht versteht es ja trotzdem jemand.
Ich habe ein Beispiel, welches nur Bedingt funktioniert ins Netz gestellt.
Hier sieht man, dass in der ersten Zeile der erste Radiobutton den Wert 0 hat. der dritte bringt mit meine erwünschte 2 aber der 2te Button nicht meine 1.
Auch das Addieren im Textfeld ganz unten funktioniert nicht.
Wer den Link nicht besucht, bekommt jetzt noch den Quelltext.
Ich danke Euch für ein paar Tipps!
Pino
Quelltext:
<script language="JavaScript" type="text/javascript">
<!--
function rechner()
{
var valueA = (document.forms["calculate"].elements["A"][0].checked ? 0 : 0);
var valueA = (document.forms["calculate"].elements["A"][1].checked ? 1 : 0);
var valueA = (document.forms["calculate"].elements["A"][2].checked ? 2 : 0);
var valueB = (document.forms["calculate2"].elements["B"][1].checked ? 3 : 0);
document.forms["calculate"].elements["wert1"].value = valueA;
document.forms["calculate2"].elements["wert2"].value = valueB;
document.forms["gesamt"].elements["gesamt"].value = valueA+valueB;
top.focus();
}
//-->
</script>
</head>
<body onload="rechner();">
<form name="calculate">
<table width="200" border="1">
<tr>
<td>
<input type="radio" name="A" onclick="rechner();">
</td>
<td>
<input type="radio" name="A" onclick="rechner();">
</td>
<td>
<input type="radio" name="A" onclick="rechner();">
</td>
<td>
<input type="text" name="wert1" onfocus="rechner();" onblur="rechner();">
</td>
</tr>
</table>
</form><br>
<form name="calculate2">
<table width="200" border="1">
<tr>
<td>
<input type="radio" name="B" onclick="rechner();">
</td>
<td>
<input type="radio" name="B" onclick="rechner();">
</td>
<td>
<input type="text" name="wert2" onfocus="rechner();" onblur="rechner();">
</td>
</tr>
</table>
</form><br>
<form name="calculate2">
<table width="200" border="1">
<tr>
<td>
Summe
</td>
<td>
<input type="text" name="gesamt" onclick="rechner();">
</td>
</tr>
</table>
</form>
Ich bitte um Entschuldigung! Ich hatte den Link nicht richtig gepostet!
Pino
Hallo,
ich habe ein ganz spezielles Problem. Ich möchte die Anzahl von 2 Produkten mit Radio-Buttons auswählen. Ich habe mir das folgendermassen vorgestellt:
Man hat in der ersten Tabellenzeile Produkt 1 mit einer Reihe von Radiobuttons. Jeder Radiobutton hat als Wert die Anzahl. Angefangen von 0, dann 1, dann 2 u.s.w.
Wenn man 0 ausgewählt hat, erscheint natürlich kein Preis. Bei eins dann meinetwegen 1 für 1 Euro. Die Preise sollen aber nicht einfach nur addiert werden, sondern von mir festgelegt werden. So kann es passieren, dass man bei Radiobutton 3 nicht 3 euro als Ergebnis bekommt, sondern 2.In der zweiten Zeile befindet sich dann Produkt 2 das wieder eine Reihe von Radiobuttons hat.
In der dritten Zeile gibt es dann nur noch ein Textfeld, in dem die Summe der 2 oberen Preise zusammenaddiert wird.
Man kann mein Vorhaben sehr schlecht erklären. Aber vielleicht versteht es ja trotzdem jemand.
Ich habe ein Beispiel, welches nur Bedingt funktioniert ins Netz gestellt.
Hier sieht man, dass in der ersten Zeile der erste Radiobutton den Wert 0 hat. der dritte bringt mit meine erwünschte 2 aber der 2te Button nicht meine 1.
Auch das Addieren im Textfeld ganz unten funktioniert nicht.
Wer den Link nicht besucht, bekommt jetzt noch den Quelltext.
Ich danke Euch für ein paar Tipps!
Pino
Quelltext:
<script language="JavaScript" type="text/javascript">
<!--
function rechner()
{
var valueA = (document.forms["calculate"].elements["A"][0].checked ? 0 : 0);
var valueA = (document.forms["calculate"].elements["A"][1].checked ? 1 : 0);
var valueA = (document.forms["calculate"].elements["A"][2].checked ? 2 : 0);var valueB = (document.forms["calculate2"].elements["B"][1].checked ? 3 : 0);
document.forms["calculate"].elements["wert1"].value = valueA;
document.forms["calculate2"].elements["wert2"].value = valueB;
document.forms["gesamt"].elements["gesamt"].value = valueA+valueB;
top.focus();
}
//-->
</script>
</head><body onload="rechner();">
<form name="calculate">
<table width="200" border="1">
<tr>
<td>
<input type="radio" name="A" onclick="rechner();">
</td>
<td>
<input type="radio" name="A" onclick="rechner();">
</td>
<td>
<input type="radio" name="A" onclick="rechner();">
</td>
<td>
<input type="text" name="wert1" onfocus="rechner();" onblur="rechner();">
</td>
</tr>
</table>
</form><br>
<form name="calculate2">
<table width="200" border="1">
<tr>
<td>
<input type="radio" name="B" onclick="rechner();">
</td>
<td>
<input type="radio" name="B" onclick="rechner();">
</td>
<td>
<input type="text" name="wert2" onfocus="rechner();" onblur="rechner();">
</td>
</tr>
</table>
</form><br>
<form name="calculate2">
<table width="200" border="1">
<tr>
<td>
Summe
</td>
<td>
<input type="text" name="gesamt" onclick="rechner();">
</td></tr>
</table>
</form>
http://learn.to/qoute .
Hi Pino,
<form name="calculate2">
...
</form>
<form name="calculate2">
...
</form>
2 Formulare mit dem gleichen Namen? Neee, das kann nicht klappen.
Grüße,
Jochen
Hallo Jochen!
Hi Pino,
<form name="calculate2">
...
</form><form name="calculate2">
...
</form>2 Formulare mit dem gleichen Namen? Neee, das kann nicht klappen.
Ok, danke! Das hatte ich wohl übersehen. Das Addieren funktioniert jetzt auf jedenfall!
Grüße,
Jochen
Pino