Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
projekt:jsfundgrube:check_monetary_value [2013/07/18 16:15] martin.oehm |
projekt:jsfundgrube:check_monetary_value [2021/07/01 09:52] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | Diese Funktion überprüft einen eingegebenen Text nach folgenden Regeln: | + | ====== Geldbeträge validieren ====== |
+ | |||
+ | |||
+ | Diese JavaScript-Funktion überprüft einen eingegebenen Text nach folgenden Regeln: | ||
* Nur Zahlen, Punkte und ein Komma sind erlaubt | * Nur Zahlen, Punkte und ein Komma sind erlaubt | ||
* Falls ein Komma vorhanden ist, müssen zwei Nachkommastellen folgen | * Falls ein Komma vorhanden ist, müssen zwei Nachkommastellen folgen | ||
Zeile 14: | Zeile 17: | ||
Die Funktion muss als onChange-Funktion des jeweiligen Input-Elementes gesetzt werden. | Die Funktion muss als onChange-Funktion des jeweiligen Input-Elementes gesetzt werden. | ||
- | <code javascript Geldbeträge überprüfen> | + | <code javascript Geldbeträge validieren> |
gadget.functions.checkMonetaryValue = function() { | gadget.functions.checkMonetaryValue = function() { | ||
Zeile 71: | Zeile 74: | ||
neuerValue = neuerValue.substring(0,j) + "." + neuerValue.substr(j); | neuerValue = neuerValue.substring(0,j) + "." + neuerValue.substr(j); | ||
counter = 0; | counter = 0; | ||
- | //somethingChanged = true; | + | |
} | } | ||
} | } | ||
- | //if(somethingChanged) { | + | |
if(splitNachKommas.length == 2) { | if(splitNachKommas.length == 2) { | ||
neuerValue = neuerValue + "," + splitNachKommas[1]; | neuerValue = neuerValue + "," + splitNachKommas[1]; | ||
Zeile 82: | Zeile 85: | ||
splitNachKommas = this.value.split(","); | splitNachKommas = this.value.split(","); | ||
this.entity.setValue(this.id,this.value); | this.entity.setValue(this.id,this.value); | ||
- | //} | + | |
- | + | ||
for(var i=0; i<splitNachPunkten.length; i++) { | for(var i=0; i<splitNachPunkten.length; i++) { | ||
- | /* MOE 17.07.13: NICHT MEHR BENÖTIGT; DA JETZT DIE TRENNZEICHEN AUTOMATISCH GESETZT WERDEN! | + | |
- | if(splitNachPunkten[i].split(",")[0].length != 3 && i != 0) { //nach einem punkt folgen nicht 3 zeichen und es ist nicht der teil vorm ersten punkt | + | |
- | alert("Bitte überprüfen Sie die Tausendertrennzeichen!"); | + | |
- | this.focus(); | + | |
- | this.entity.setValue(this.id,this.value); | + | |
- | return; | + | |
- | }*/ | + | |
if(!isANumber(splitNachPunkten[i].split(",")[0])) { //die 3 zeichen sind entweder keine zahl oder es befindet sich ein leerzeichen darunter | if(!isANumber(splitNachPunkten[i].split(",")[0])) { //die 3 zeichen sind entweder keine zahl oder es befindet sich ein leerzeichen darunter | ||
alert(wert + " ist kein zulässiger Zahlenwert. Bitte geben Sie eine gültige Zahl ein."); | alert(wert + " ist kein zulässiger Zahlenwert. Bitte geben Sie eine gültige Zahl ein."); | ||
Zeile 159: | Zeile 155: | ||
} | } | ||
this.entity.setValue(this.id,this.value); | this.entity.setValue(this.id,this.value); | ||
- | //focus muss im feld bleiben, falls etwas nicht passt | + | |
} | } | ||
</code> | </code> |