Page 1 of 1

Berechnung aus Formular

Posted: Fri 13. Nov 2015, 15:34
by photojo
Hi,

ich bräuchte eine klitzkleines Formular, das mir nach Eingabe von a und b einfach a+b berechnet und das Ergebnis an der gleichen stelle im FE ausgibt. Wie setzte ich das am besten um? Hat jemend etvl ein kleines Beispiel? Mir geht hauptsächlich darum, dass ich in phpwcms bleibe. Klar was ich meine?

Gruß
Jo

Re: Berechnung aus Formular

Posted: Fri 13. Nov 2015, 16:10
by Uwe367
Zwar schon etwas älter, sollte aber klappen..
http://forum.phpwcms.org/viewtopic.php?p=111914#p111914

Dazu auch noch was im Wiki...
http://www.phpwcms-howto.de/wiki/doku.p ... ]=formular

Re: Berechnung aus Formular

Posted: Fri 13. Nov 2015, 16:23
by photojo
Ich probiere das mal. Danke!

Re: Berechnung aus Formular

Posted: Sat 14. Nov 2015, 09:47
by photojo
Danke Uwe für den Tipp. Jetzt stehe ich nur noch vor dem "Problem", dass nicht via Formular abgeschickt werden soll, sondern "nur" berechnet und auf der "gleichen Seite" direkt im Formular das Ergebnis erscheinen soll.

Re: Berechnung aus Formular

Posted: Sat 14. Nov 2015, 16:20
by photojo
So, ich bin ein Stück weiter:

In das Feld "Erfolg" schreibt man

Code: Select all

[PHP]echo showSelectedContent('CP,[b]nummer des CP-Formular[/b]');[/PHP]

Re: Berechnung aus Formular

Posted: Sat 14. Nov 2015, 18:17
by Oliver Georgi
Wozu, was soll das werden?
Hidden Feld "ergebnis": dann kann man den Wert bei Erfolg ausgeben lassen {ergebnis}

Eigentlich nutzt man JavaScript, um sofort das Ergebnis ausrechnen zu lassen. Da Du eh nichts speichern möchtest, ist das die sinnvollste Variante.

Man kann es auch kompliziert machen! Nicht immer so verquast denken!

Re: Berechnung aus Formular

Posted: Sun 15. Nov 2015, 08:10
by photojo
Man kann es auch kompliziert machen! Nicht immer so verquast denken!
Ich möchte es nicht kompliziert machen und verquast denken! Und genau dafür gibt es doch ein Forum, dass man einfache, schnell ans Ziel führende Lösungsvorschläge austauscht, oder?

Ich möchte eben KEIN hidden Feld. Ich möchte es eher gestalten wie eine App. Drei Eingabefelder, ein Ergebnisfeld. Und das Versenden via eMail brauche ich natürlich auch nicht.
Kannst du bitte eine unkomplizierte Lösung mit JS posten?
Danke!

Re: Berechnung aus Formular

Posted: Sun 15. Nov 2015, 08:32
by Uwe367
Ne fertige Lösung wird Oliver dir sicher nicht präsentieren, aber schau mal hier.
http://www.mediaevent.de/javascript/Jav ... toren.html
Hab ich eben gefunden und dürfte das sein was du suchst.

Ich weiß nicht was du vor hast, aber mußt du dafür unbedingt den CP Formular bemühen?
Der CP HTML dürfte doch für dieses minimalistische Script ausreichend sein oder?

Re: Berechnung aus Formular

Posted: Sun 15. Nov 2015, 08:43
by Oliver Georgi
http://jsfiddle.net/slackero/6akye9vo/1/

Dazu gehören dann natürlich Prüfroutine bla und blubb. Das Netz ist voll von solchen Beispielen…

Re: Berechnung aus Formular

Posted: Sun 15. Nov 2015, 08:46
by photojo
Wow, vielen Dank!

Re: Berechnung aus Formular

Posted: Sun 15. Nov 2015, 09:34
by photojo
Eine letzte Frage noch:

Ich habe das Ganze jetzt mal mit dem CP-Formular umgesetzt. Die Berechnung klappt. Aus "optischen" Gründen will ich

Zahl1
Zahl2
Zahl3
Ergebnis (nicht hidden)
Berechnen

Leider schaffe ich es nicht, das Ergebnis, der Berechnung in das Feld Ergebnis zu bekommen.

Oder habe ich weider den falschen Ansatz? Soll ich den CP HTML benutzen?

Danke!

Re: Berechnung aus Formular

Posted: Sun 15. Nov 2015, 09:53
by Oliver Georgi
Beschäftige Dich mit der Materie. Das eine ist der HTML Aufbau, ob der aus dem CP Formular kommt oder nicht, ist nebensächlich.

Re: Berechnung aus Formular

Posted: Sun 15. Nov 2015, 10:40
by Uwe367
Ich hab den Code komplett in einen CP HTML gepackt und das klappt wunderbar.

Code: Select all

<form id="myform">
    <p><label>Field 1</label> <input type="text" id="field1"></p>
    <p><label>Field 2</label> <input type="text" id="field2"></p>
    <p><label>Field 3</label> <input type="text" id="field3"></p>
    <p><button type="subject">Calculate</button></p>
    <p id="result"></p>
</form>



<script>
$(function(){
	var $myform = $('#myform');
	if($myform.length) {
		var $f1 = $('#field1'), $f2 = $('#field2'), $f3 = $('#field3'), $r = $('#result');
		var calculateResult = function() {
			var $f1val = $f1.val(), $f2val = $f2.val(), $f3val = $f3.val();
			var calcresult = parseInt($f1val, 10) + parseInt($f2val, 10) + parseInt($f3val, 10);
			$r.html('Das Ergebnis ist <strong>' + calcresult + '</strong>');
		};
		$myform.submit(function(e) {
			e.preventDefault();
			calculateResult();
		});
	}
});
</script>