Help: (JS?) Formular Rechnung

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/help_js_formular_rechnung_196171/page_1 - zur Vollversion wechseln!


Obermotz schrieb am 10.06.2008 um 15:47

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


COLOSSUS schrieb am 10.06.2008 um 18:18

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 schrieb am 11.06.2008 um 09:18

Hauptsächlich Serverseitig und dieses Java Script kotzt mich an. :D

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


freezer90 schrieb am 11.06.2008 um 16:52

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 schrieb am 12.06.2008 um 10:45

Schöner gehts net, danke ;)


Obermotz schrieb am 11.09.2008 um 16:28

*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 schrieb am 11.09.2008 um 16:35

Wenn php installiert ist, geht das ziemlich fix in php auch.
JS hab ich Nüsse Ahnung, sry :D


DirtyHarry schrieb am 12.09.2008 um 07:10

http://www.galileocomputing.de/open...c81536d5f7538fb

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


sensei schrieb am 12.09.2008 um 07:22

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 schrieb am 12.09.2008 um 08:24

Hey, die Lösung von Sensei sagt mir zu, danke!




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026