# Mindestwert



## Harry1 (28. Apr 2011)

Hallo liebe Gemeinde, 

kann mit bitte jemand weiterhelfen? Habe folgenden Befehl:

// Inhalt im Textfeld Beitrag Zeitwert
    obj = document.formular.n103032317586;
    if(typeof obj != "undefined"){
      if (ssum != "") ssum = ssum + '<br><br>';
      ssum = ssum + 'Beitrag Zeitwert:';
      ssum = ssum + '<br>' + obj.value;

Nun mein Problem: solange nicht ein Mindestwert von z.B. 49,98 erreicht wurde, soll dieser Wert stehen bleiben. Erst wenn dieser Wert überschritten wurde, soll die entsprechend höhere Summe angezeigt werden.

Schon mal vielen Dank!!
LG, Harry


----------



## Sonecc (28. Apr 2011)

Sieht für mich eher nach javascript aus? in dem fall: JAVA != JAVASCRIPT!


----------



## Harry1 (28. Apr 2011)

Bin ich etwa im falschen Forum ??:bahnhof:

LG, Harry


----------



## Michael... (28. Apr 2011)

Mal abgesehen davon, dass es sich um ein unvollständiges Java*Script* (hat nichts mit Java zu tun) handelt, ist hier nichts von einer Variablen mit Mindestwert zu sehen.
...Und verstanden habe ich die Frage auch nicht wirklich.


----------



## faetzminator (28. Apr 2011)

Ja, es ist Javascript, und nicht Java...

Aber wie wärs einfach mit [c]if (parseInt(obj.value) >= 49.98) { ... }[/c] ?


----------



## Harry1 (28. Apr 2011)

ich habe ein Formular erstellt (PHP und JS) in dem irgendwelche Werte addiert werden. Nun kann es aber sein, das ein Kunde den Mindestbetrag nicht erreicht hat und somit soll dann trotzdem der Mindestbetrag von 49,98 angezeigt werden. Hmmm.....hoffe dies war etwas verständlicher

if (parseInt(obj.value) >= 49.98) { ... } 

habe ich eben probiert.....klappt leider nicht :-(

LG, Harry


----------



## faetzminator (28. Apr 2011)

"klappt leider nicht" hilft uns nicht sonderlich...
Was passiert?
Werden Fehlermeldungen geworfen?
Was steht in den einzelnen Variablen (mit Debugger prüfen)?


----------



## Harry1 (28. Apr 2011)

hier der Code:

function frmCalculate() {
  try {
    var result="";

    var obj103032317579;
    obj103032317579 = document.forms[0].n103032317579.value;
    obj103032317579 = obj103032317579.replace(/,/,".");
    obj103032317579 = parseFloat(obj103032317579);

    result=parseFloat(eval(obj103032317579 + "/" + "100" + "*" + "1.25" + "/" + "100" + "*" + "119"));
    if (isNaN(result)) {
      result="?";
    }else{
      result=result.toFixed(2);
      result=result.replace(".00","");
    }
    document.forms[0].n103032317561.value=result;

Bekomme ich hier einen Mindestwert reingepastelt?

LG, Harry


----------



## faetzminator (28. Apr 2011)

Wie oben beschrieben. Entweder mit [c]obj103032317579[/c] oder mit [c]result[/c]. Warum heisst dieses Objekt eigentlich so :autsch: ?


----------



## r.w. (28. Apr 2011)

Hallo Harry, 



Harry1 hat gesagt.:


> Hallo liebe Gemeinde,
> 
> kann mit bitte jemand weiterhelfen? Habe folgenden Befehl:
> 
> ...




Hab es jetzt nicht probiert. Müsste aber eigentlich in etwa so funktionieren:


```
// Inhalt im Textfeld Beitrag Zeitwert
obj = document.formular.n103032317586;
if(typeof obj != "undefined"){
if (ssum != "") ssum = ssum + '<br><br>';
ssum = ssum + 'Beitrag Zeitwert:';
//ssum = ssum + '<br>' + obj.value;
ssum = ssum + '<br>' + (parseFloat(obj.value)>49.98?obj.value:'49,98');
```
parseFloat() erwartet allerdings einen '.' als Dezimaltrenner. Damit müsstest Du noch testen.

Das Ganze wirkt sich so natürlich nur auf diese Ausgabe und nicht auf weitere Berechnungen aus.

VG ROlf


----------



## pmedv.net (28. Apr 2011)

Hallo ich hab die Funktion einmal überarbeitet, nachdem du mit try und catch gearbeitet hast, kann es sein, dass irgendein fehler aufgetreten ist, dieser aber mit try abgefangen wurde. Was bei deinem Code zb gar nicht funktionierte war der Zugriff auf das Formularfeld. Ich bevorzuge bei solchen Sachen die Funktion getElementById


```
function frmCalculate() {
			var result="";

			var obj103032317579;
			obj103032317579 = document.getElementById('n103032317579').value;
			obj103032317579 = obj103032317579.replace(/,/,".");
			obj103032317579 = parseFloat(obj103032317579);

			result=parseFloat(eval(obj103032317579 + "/" + "100" + "*" + "1.25" + "/" + "100" + "*" + "119"));
			if (isNaN(result)) {
			result="?";
			}else{
			result=result.toFixed(2);
			result=(parseInt(result) >= 49.98)?result.replace(".00",""):'49,98';
			}
			document.getElementById('n103032317579').value=result;
			}
```


----------



## Harry1 (28. Apr 2011)

habe nun alle Möglichkeiten probiert.....klappt leider nicht. Ich bekomme auch keinerlei Fehlermeldungen. Das Formular funktioniert auf dem Server einwandfrei....bist auf die Sache mit dem Mindestbeitrag. Leider kann ich den ganzen Code hier nicht reinstellen....weil zu groß.


----------



## Illuvatar (28. Apr 2011)

Ich verschieb das mal in die Javascript-Ecke.


----------



## faetzminator (28. Apr 2011)

Hast du keinen Debugger, mit dem du alles prüfen kannst? Z.B. im Firefox das Plugin Firebug ist wirklich cool. Oder für den IE hab ich M$ Script Debugger (oder so?) - allerdings wird das wohl nicht gratis sein.


----------



## Harry1 (28. Apr 2011)

Hallo,

nein, leider habe ich kein solch ein Programm. Aber das müsste doch auch ohne funktioniern...

LG, Harry


----------



## faetzminator (28. Apr 2011)

Es geht nicht ums funktionieren, es geht ums debuggen  wenn etwas _nicht_ funktioniert, findet man meistens mit dem Debugger schnell heraus, wo das Problem liegt.
Hast du den Code von pmedv.net kopiert? Dieser funktioniert nicht? Was gibst du denn ein? Vielleicht kann er [c]1,00[/c] (das [c],[/c]) nicht parsen?


----------



## Harry1 (28. Apr 2011)

das Formular habe ich mit einem Programm gepastelt. Ich muss gestehen....mit dem Begriff "parsen" kann ich leider nichts anfangen 
Den Code habe ich natürlich schon kopiert und eingefügt.....hat aber leider nicht funktioniert.
Soll ich Dir mal den Link zum Formular schicken.....?

LG, Harry


----------



## faetzminator (28. Apr 2011)

Du solltest dir vielleicht zuerst mal die Grundlagen ansehen :noe:
Aber da ich gerade so freundlich bin, gib mir doch mal den Link...


----------



## Michael... (28. Apr 2011)

hab zwar immer noch nicht verstanden, wo da was gemacht werden soll, aber vielleicht hilft ja folgendes Bsp. weiter:

```
<html>
<head>
<script type="text/javascript">
function checkValue() {
	inputValue = document.getElementById("ID123").value;
	inputValue = inputValue.replace(",",".");
	if (inputValue>=50) {
		alert(inputValue + " ist groß genug!");
	}
	else {
		alert("Der Wert ist ungültig oder zu niedrig!\nEs wird ein neuer Wert automatisch gesetzt!");
		document.getElementById("ID123").value = 50;
	}
}
</script>
</head>
<body>
	<form action="javascript: checkValue();">
	Bitte einen Wert g&ouml;&szlig;er oder gleich 50 eingeben: <input id="ID123"/>
	</form>
</body>
</html>
```


----------



## Harry1 (28. Apr 2011)

Vielen Dank für Deine Mühe!! Leider ist damit mein Problem nicht gelöst. Es sind auf der Seit zwei Felder zu sehen, einmal den Zeitwert und einmal den Neuwert. In diesen erscheint nach Eingabe des Instrumentenwertes der Beitrag. Es kann sein, dass der angezeigte Beitrag nur z.B. 34,44 anzeigt. Der Mindestbeitrag beträgt allerdings 49,98. Nun möchte ich, dass, solange der Mindestbeitrag von 49,98 nicht erreicht wurde diese Summe fest in diesem Feld steht. Erst wenn der Beitrag über 49,98 liegt soll dieser entsprechend angezeigt werden.....hoffe das war verständlich :autsch:


----------



## faetzminator (28. Apr 2011)

Also, ich weiss nicht wo dein Problem liegt 
Hab im Firebug schnell am Anfang im else-Tag (auf deiner Seite) folgendes eingefügt:

```
if (result < 49.98) {
  result = 49.98;
}
```
und tadaaa... im Feld stand der gewünschte Mindestbetrag


----------



## Harry1 (28. Apr 2011)

Habe ich natürlich sofort probiert .... bekomme aber nun folgende Fehlermeldung:

Parse error: syntax error, unexpected '=' in /is/htdocs/wp1168373_ZRKT7ELEDZ/www.xxx/125/125.php on line 600


----------



## Harry1 (28. Apr 2011)

wo genau hast Du das eingefügt?


```
if (result < 49.98) {
  result = 49.98;
}
```


----------



## Harry1 (28. Apr 2011)

:applaus::toll::applaus::toll:
Es funktioniert !!! DANKE!!!

Viele Grüße
Harry


----------



## faetzminator (28. Apr 2011)

Also ich habs an den Anfang des [c]else[/c] geschrieben (beim [c]if (isNan(result))[/c]).


----------



## Harry1 (28. Apr 2011)

Erstmal vielen Dank für Eure Hilfe!!!
Nun suche ich schon seit einiger Zeit eine Formel für folgendes Problem:

Zeitwert= 49,98  (funktioniert nun, vielen Dank an faetzminator!)

Neuwert= Zeitwert + 20% 

Hat da jemand etwas für mich? 

Danke!!

Grüßle, Harry


----------



## r.w. (28. Apr 2011)

Harry1 hat gesagt.:


> Habe ich natürlich sofort probiert .... bekomme aber nun folgende Fehlermeldung:
> 
> Parse error: syntax error, unexpected '=' in /is/htdocs/wp1168373_ZRKT7ELEDZ/www.xxx/125/125.php on line 600



Das ist kein Javascript-Fehler, sondern ein php-Fehler.


----------



## r.w. (28. Apr 2011)

Harry1 hat gesagt.:


> Erstmal vielen Dank für Eure Hilfe!!!
> Nun suche ich schon seit einiger Zeit eine Formel für folgendes Problem:
> 
> Zeitwert= 49,98  (funktioniert nun, vielen Dank an faetzminator!)
> ...




```
Neuwert = Zeitwert * 1.2
```

Wobei auch hier vorher bei der Variablen Zeitwert 
als Dezimaltrenner das Komma durch den Punkt ersetzt werden müsste.


VG ROlf


----------

