zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden JS: Inhalt von Formularfeld updaten

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 26.06.2006, 16:57
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 89
maeck befindet sich auf einem aufstrebenden Ast
Standard JS: Inhalt von Formularfeld updaten

Hallo,

ich habe ein Formular, indem eine checkbox drin ist und ein input-feld, indem ein Betrag (z.B. 100) drin steht. Wenn die checkbox True ist, soll vom Betrag 50 abgezogen werden, wenn sie FALSE ist, sollen die 50 wieder drauf gerechtnet werden.

Bisher bin ich soweit, dass die 50 abgezogen werden, nun steh ich aufm schlauch weil ich nicht weiß wie ich die 50 wieder draufrechne, wenn checkbox false.

Hier der Code:
Code:
<script language="JavaScript" type="text/javascript">
function setEmma() {
	prsTagung = 50;
	prsBetragGesamt = document.single.BetragGesamt.value;
	if (document.single.emma.checked) prsBetragGesamt -= prsTagung;
	document.single.BetragGesamt.value = prsBetragGesamt;
	}
</script>


<input type="text" name="BetragGesamt" value="<? echo $daten[gesamtbetrag] ?>" maxlength="3" size="3" />&euro;&nbsp;Gesamtbetrag
<br />
<input type="checkbox" name="emma" onClick="setEmma()"value="1" <? echo $emma ?> style="width:2.5em;" />
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 26.06.2006, 18:47
Benutzerbild von duessu
{blubb /}
XHTMLforum-Mitglied
 
Registriert seit: 05.09.2005
Beiträge: 371
duessu befindet sich auf einem aufstrebenden Ast
Standard

Code:
<script language="JavaScript" type="text/javascript">
function setEmma() {
	prsTagung = 50;
	prsBetragGesamt = document.single.BetragGesamt.value;
	if (document.single.emma.checked) prsBetragGesamt -= prsTagung;
	else prsBetragGesamt += prsTagung;
	document.single.BetragGesamt.value = prsBetragGesamt;
	}
</script>


<input type="text" name="BetragGesamt" value="<? echo $daten[gesamtbetrag] ?>" maxlength="3" size="3" />&euro;&nbsp;Gesamtbetrag
<br />
<input type="checkbox" name="emma" onClick="setEmma()"value="1" <? echo $emma ?> style="width:2.5em;" />
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 26.06.2006, 19:02
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 89
maeck befindet sich auf einem aufstrebenden Ast
Standard

Hallo duessu,

danke für die Anwort! Argh, das ist ja richtig peinlich, dass ich darauf nicht selbst gekommen bin

Leider funktioniert es komischerweise nicht richtig:
Angenommen ich habe 300 drin stehen, und klicke die box, dann habe ich noch 250 drin; das ist richtig. Wenn ich dann nochmal drauf klicke, dann habe ich 25050 drin stehen.

Wieso kann man abziehen, aber nicht draufzählen?
Mit Zitat antworten
  #4 (permalink)  
Alt 26.06.2006, 19:50
_42 _42 ist offline
Minimalist
XHTMLforum-Mitglied
 
Registriert seit: 04.11.2005
Beiträge: 257
_42 befindet sich auf einem aufstrebenden Ast
Standard

Ich denke, dass JS den Inhalt als String sieht. An Strings kann man Zeichen anhängen, aber keine abziehen.
Mit Zitat antworten
  #5 (permalink)  
Alt 26.06.2006, 21:23
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 89
maeck befindet sich auf einem aufstrebenden Ast
Standard

hmm, aber warum ist das nur beim Addieren so und nicht beim Subtrahieren, denn das funktioniert?
Mit Zitat antworten
  #6 (permalink)  
Alt 26.06.2006, 22:12
_42 _42 ist offline
Minimalist
XHTMLforum-Mitglied
 
Registriert seit: 04.11.2005
Beiträge: 257
_42 befindet sich auf einem aufstrebenden Ast
Standard

Wie willst du bestimmte Zeichen von einem String abziehen? Dazufügen geht ja, aber abziehen?
Mit Zitat antworten
  #7 (permalink)  
Alt 26.06.2006, 22:16
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 89
maeck befindet sich auf einem aufstrebenden Ast
Standard

Das verstehe ich nicht wirklich. Wenn ich die Zahl 300 habe und dort 50 subtrahiere, dann habe ich 250. Habe ich die Zahl 300 und addiere 50 dann steht dort 30050. Das ist für mich nicht logisch.
Mit Zitat antworten
  #8 (permalink)  
Alt 27.06.2006, 10:19
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 89
maeck befindet sich auf einem aufstrebenden Ast
Standard

okay, es lag wohl wirklich daran, dass JS Werte aus Formularfeldern immer als String ansieht. Wundere mich zwar, warum das beim subtrahieren kein Problem war, aber nach einem parseInt funktioniert es nun.
Code:
function setEmma_rabatt() {
	prsTagung = 50;
	prsBetragGesamt = parseInt(document.single.BetragGesamt.value);
	if (document.single.emma_rabatt.checked) prsBetragGesamt -= prsTagung;
	else {prsBetragGesamt = prsBetragGesamt + prsTagung;}
	document.single.BetragGesamt.value = prsBetragGesamt;
	}
Danke für die Hilfen!
Mit Zitat antworten
Antwort


Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CSS-Layout der Browsergröße anpassen Jen CSS 3 14.11.2008 08:39
Problem mit position:relative; McCoRmIcK CSS 0 08.04.2007 16:23
dreispaltiges layout, footer soll immer mitwandern sirrpa CSS 14 24.11.2005 18:57
div box bekomme ich nett zentriert??? Hard@Bowl CSS 1 23.05.2005 11:22
height: 100% beim IE [M.o.C]Co CSS 3 12.05.2005 12:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:01 Uhr.