Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a21720b8

Von Thomas Kasulke vor etwa 18 Jahren hinzugefügt

  • ID a21720b8d6cc3e4b8b804ea6608c38041a3aeeee
  • Vorgänger f65faf20
  • Nachfolger b75911aa

Erweiterung der common.js um die function setupPoints(numberformat, wrongFormat) und check_right_date_format(input_name), welche einen eigenebenen Betrag auf Richtigkeit
überprüfen. Einzubingen wie folgt:

- in jeder pl, in der input-tags überprüft werden sollen, muss $onload durch folgendes erweitert werden:
$onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|;
- die common.js muss eingebunden sein
- in zu überprüfendem input-tag muß folgendes stehen:
onBlur=\"check_right_date_format(this)\"

Unterschiede anzeigen:

js/common.js
function setupPoints(numberformat, wrongFormat) {
decpoint = numberformat.substring((numberformat.substring(1, 2).match(/.|,/) ? 5 : 4), (numberformat.substring(1, 2).match(/.|,/) ? 6 : 5));
if (numberformat.substring(1, 2).match(/.|,/)) {
thpoint = numberformat.substring(1, 2);
}
else {
thpoint = null;
}
wrongformat = wrongFormat;
}
function centerParms(width,height,extra) {
xPos = (screen.width - width) / 2;
yPos = (screen.height - height) / 2;
......
"longdescription=" + escape(document.getElementsByName(input_name)[0].value) + "&" +
"input_name=" + escape(input_name) + "&"
window.open(url, "_new_generic", parm);
}
}
function check_right_date_format(input_name) {
var decnumbers = input_name.value.split(decpoint);
if(thpoint) {
var thnumbers = input_name.value.split(thpoint);
if(thnumbers[thnumbers.length-1].match(/.+decpoint$/g)) {
thnumbers[thnumbers.length-1] = thnumbers[thnumbers.length-1].substring(thnumbers[thnumbers.length-1].length-1);
}
if(thnumbers[thnumbers.length-1].match(/.+decpoint\d$/g)) {
thnumbers[thnumbers.length-1] = thnumbers[thnumbers.length-1].substring(thnumbers[thnumbers.length-1].length-2);
}
if(thnumbers[thnumbers.length-1].match(/.+decpoint\d\d$/g)) {
thnumbers[thnumbers.length-1] = thnumbers[thnumbers.length-1].substring(thnumbers[thnumbers.length-1].length-3);
}
for(var i = 1; i < thnumbers.length; i++) {
if(!thnumbers[i].match(/\d\d\d/g)) {
return show_alert_and_focus(input_name);
}
if(thnumbers[i].match(/.*decpoint.*|.*thpoint.*/g)) {
return show_alert_and_focus(input_name);
}
}
if(decnumbers.length > 2 || (decnumbers.length > 1 ? (decnumbers[1].length > 2) : false)) {
return show_alert_and_focus(input_name);
}
}
else {
if(decnumbers.length > 1 || decnumbers[0].length > 2) {
return show_alert_and_focus(input_name);
}
}
}
function show_alert_and_focus(input_name) {
input_name.select();
alert(wrongformat + "\n\r\n\r--> " + input_name.value);
input_name.focus();
return false;
}

Auch abrufbar als: Unified diff