[Gelöst] Berechnung einer Wahrscheinlichkeit mit JavaScript

20. Dezember 2010 14:51

Hallo zusammen,

ich hoffe, dass es sich bei folgendem Code-Snippet tatsächlich um ein ungelöstes bzw. nicht-gepostetes Problem handelt. :wink:

Ich möchte ein Attribut vom Typ integer gerne mit einer Wahrscheinlichkeit füllen, die sich verändert, wenn User ein Bit-Feld aktivieren bzw. deaktivieren.

Code:
var vkchancewkt = parseInt(crmForm.all.cfb_vkchance_erfolgswkt.DataValue);
var faktor = parseInt(5);

if (crmForm.all.cfb_vkchance_krit1.DataValue == true) {
   vkchancewkt += faktor;
}
else if (vkchancewkt >= faktor) {
   vkchancewkt -= faktor;
}

crmForm.all.cfb_vkchance_erfolgswkt.DataValue = parseInt(vkchancewkt);
crmForm.all.cfb_vkchance_erfolgswkt.ForceSubmit = true;

Wird nun auf das Bit-Feld geklickt, erscheint die Fehlermeldung: "Sie müssen eine ganze Zahl zwischen 0 und 100 eingeben!"

Wo liegt der Fehler in meinem Code? Ich fürchte fast, dass die vorletzte Zeile ("crmForm.all.cfb_vkchance_erfolgswkt.DataValue = parseInt(vkchancewkt)") fehlerhaft ist!? Zumindest tauchte der Fehler erst nach Hinzufügen dieser Zeile auf...

Würde mich über eine Code-Korrektur freuen...

Gruß
Frank
Zuletzt geändert von frankyue am 7. Januar 2011 11:21, insgesamt 1-mal geändert.

Re: Berechnung einer Wahrscheinlichkeit mit JavaScript

20. Dezember 2010 16:45

Hallo Frank,

die Fehlermeldung ist eigentlich ziemlich eindeutig. Bist du sicher, das dein Code einen Wert größer 0 zurückgibt. Wenn du an einer Stelle 0 -5 rechnest, ergibt das -5 und das ist in deinem Feld nicht erlaubt.
Lass dir doch vor dem speichern einfach mal den Wert mit alert ausgeben.
alert(vkchancewkt);

Re: Berechnung einer Wahrscheinlichkeit mit JavaScript

7. Januar 2011 11:20

Hallo Michael,

Dein Hinweis bzgl. der Fehlermeldung hat mich dazu veranlasst, nochmals meinen Code und insb. die unterschiedlichen Datentypen der Attribute zu überdenken. Nun funktioniert die Berechnung der Wahrscheinlichkeit wie gewünscht.

Gruß & Dank
Frank

PS: Da ich die vergangenen Wochen nicht im Büro war, konnte ich bisher noch nicht den Threadtitel anpassen. Sorry!