Help: (JS?) Formular Rechnung
Obermotz 10.06.2008 - 15:47 1151 9
Obermotz
Fünfzylindernazi
|
Hi! Ich stehe vor einem Problem. Ich habe ein Formular das so ähnlich aussieht: Wenn jetzt auf der linken Seite Kurse angehakt werden, sollte unten in einer Summenzeile der Gesamtbetrag ausgerechnet werden. Wie kann ich das Lösen? tia om
Bearbeitet von Obermotz am 12.09.2008, 08:24
|
COLOSSUS
AdministratorGNUltra
|
Ich hab keine Ahnung von clientseitigem Web-Development, aber so schwer ist das nicht... Wenn du den Preis als numerisches Skalar irgendwie mit der Checkbox assoziieren kannst ("value"-Property bietet sich z. B. an) iterierst du einfach ueber alle Elemente der <form>, in deren Kontext die Boxen stehen, und addierst den value der Checkbox dann zur bisher ermittelten Summe ebendieser, wenn die gerade auszuwertende Box angehakt ist. Den Wert fuellst du per JavaScript in ein anderes Element deiner Wahl, fertig; die entsprechende Funktion fuehrst du bei jedem onClick (oder vielleicht gibt es schon passendere JavaScript-Eventhandler fuer Checkboxen und solche Situationen) aus. Machst du nicht sowas aehnliches (wie Web-Development) beruflich?
|
Obermotz
Fünfzylindernazi
|
Hauptsächlich Serverseitig und dieses Java Script kotzt mich an. ![:D](/images/smilies/biggrin.gif) Werd mich mal dahinterhängen auf Trial-Error-Art.
|
freezer90
Ex SE Student
|
<html>
<head>
<title>Blahfasl</title>
<script language="javascript">
function togglePrice(sender, value) {
var sumElem = document.getElementById("sum");
var sumVal = (+sumElem.innerHTML);
if (sender.checked) {
sumElem.innerHTML = sumVal + value;
} else {
sumElem.innerHTML = sumVal - value;
}
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
<table>
<tr>
<td><input type="checkbox" name="chk1" id="chk1" onClick="togglePrice(this, 10.50)">Kurs1</td>
<td>10.50</td>
</tr>
<tr>
<td><input type="checkbox" name="chk2" id="chk2" onClick="togglePrice(this, 20.00)">Kurs2</td>
<td>20.00</td>
</tr>
<tr>
<td> </td>
<td id="sum">0</td>
</tr>
</table>
</form>
</body>
</html>
so würds ich machen
|
Obermotz
Fünfzylindernazi
|
Schöner gehts net, danke
|
Obermotz
Fünfzylindernazi
|
*aufwärm* Selbes Projekt, ähnliches Problem: Ich brauche eine kleine Lösung in JavaScript, quasi eine Form-Validation. Hab per Google nix gefunden. Es werden nach wie vor die einzelnen Zeilen aus der DB in die Liste geladen und mit Checkboxen versehen. Der User _muss mindestens eine_ Checkbox anhaken. Wenn er das nicht macht, soll ne Msgbox springen. Der Code für die Checkbox ist jetzt folgender: <input name="checkbox[]" value="'.$row['id'].'" type="checkbox" onClick="togglePrice(this, '.$row['preis'].')"/>
Frage: Wie soll ich das anstellen, da ich ja die Checkbox als Array definiert habe? tia omotz
|
Burschi1620
24/7 Santa Claus
|
Wenn php installiert ist, geht das ziemlich fix in php auch. JS hab ich Nüsse Ahnung, sry
|
DirtyHarry
aka robobimbo
|
|
sensei
die Küstenwache?
|
wenn ich mich recht erinnere sind doch checkboxen mit dem selben namen immer in einem array? var data = document.getElementsByName('checkbox');
var cbChecked= false;
for(i=0; i<data.length; i++) {
if(data[i].checked) {
cbChecked = true; // oder gleich rausspringen
}
}
if(cbChecked) {
form.submit(); // oder was auch immer
} else {
alert("Bitte irgendwas auswählen");
}
|
Obermotz
Fünfzylindernazi
|
Hey, die Lösung von Sensei sagt mir zu, danke!
|