"We are back" « oc.at

Help: (JS?) Formular Rechnung

Obermotz 10.06.2008 - 15:47 1151 9
Posts

Obermotz

Fünfzylindernazi
Avatar
Registered: Nov 2002
Location: OÖ/RI
Posts: 5262
Hi!

Ich stehe vor einem Problem.
Ich habe ein Formular das so ähnlich aussieht:
clipboard01_126241.jpg

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

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12140
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? :confused:

Obermotz

Fünfzylindernazi
Avatar
Registered: Nov 2002
Location: OÖ/RI
Posts: 5262
Hauptsächlich Serverseitig und dieses Java Script kotzt mich an. :D

Werd mich mal dahinterhängen auf Trial-Error-Art.

freezer90

Ex SE Student
Avatar
Registered: Aug 2002
Location: Linz
Posts: 768
Code: PHP
<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
Avatar
Registered: Nov 2002
Location: OÖ/RI
Posts: 5262
Schöner gehts net, danke ;)

Obermotz

Fünfzylindernazi
Avatar
Registered: Nov 2002
Location: OÖ/RI
Posts: 5262
*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:
Code: PHP
<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
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792
Wenn php installiert ist, geht das ziemlich fix in php auch.
JS hab ich Nüsse Ahnung, sry :D

DirtyHarry

aka robobimbo
Avatar
Registered: Apr 2001
Location: outer space
Posts: 464
http://www.galileocomputing.de/open...c81536d5f7538fb

Unter 9.1.5 wird durch ein Array iteriert und abgefragt ob etwas ausgewählt íst

sensei

die Küstenwache?
Avatar
Registered: Dec 2000
Location: Bad Schlotterbac..
Posts: 709
wenn ich mich recht erinnere sind doch checkboxen mit dem selben namen immer in einem array?

Code: PHP
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
Avatar
Registered: Nov 2002
Location: OÖ/RI
Posts: 5262
Hey, die Lösung von Sensei sagt mir zu, danke!
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz