Ignore:
Timestamp:
Jan 15, 2013, 12:41:50 AM (11 years ago)
Author:
julien1311
Message:

[piwecard] several improvements

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/Piwecard/js/piwecard.js

    r20109 r20162  
    1 function piwecard_checkField(element, elementType) {
     1function piwecard_checkField(element, elementType, nullIsOK) {
    22        var TEXT = 0;
    33        var EMAIL = 1;
    44        var NUMBER = 2;
    55       
    6         switch (elementType) {
    7                 case TEXT:
    8                         if (element.value == '') {
    9                                 document.getElementById(element.id+'_error').style.display = 'block';
    10                                 element.className += " ecard_error_input";
     6        optionalArg = (typeof nullIsOK === "undefined") ? false : nullIsOK;
     7       
     8        if (nullIsOK && element.value === '') {
     9                return true;
     10        } else {
     11                switch (elementType) {
     12                        case TEXT:
     13                                if (element.value == '') {
     14                                        document.getElementById(element.id+'_error').style.display = 'block';
     15                                        element.className += " ecard_error_input";
     16                                        return false;
     17                                } else {
     18                                        document.getElementById(element.id+'_error').style.display = 'none';
     19                                        element.className = element.className.replace( /(?:^|\s)ecard_error_input(?!\S)/g , '');
     20                                        return true;
     21                                }
     22                                break;
     23                        case EMAIL:
     24                                var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
     25                                if (!filter.test(element.value)) {
     26                                        document.getElementById(element.id+'_error').style.display = 'block';
     27                                        element.className += " ecard_error_input";
     28                                        return false;
     29                                } else {
     30                                        document.getElementById(element.id+'_error').style.display = 'none';
     31                                        element.className = element.className.replace( /(?:^|\s)ecard_error_input(?!\S)/g , '');
     32                                        return true;
     33                                }
     34                                break;
     35                        case NUMBER:
     36                                if (element.value == '') {
     37                                        document.getElementById(element.id+'_error').style.display = 'inline';
     38                                        element.className += " ecard_error_input";
     39                                        return false;
     40                                } else {
     41                                        if (parseFloat(element.value) % 1 == 0){
     42                                                return true;
     43                                        } else {
     44                                                document.getElementById(element.id+'_error').style.display = 'inline';
     45                                                element.className += " ecard_error_input";
     46                                                return false;
     47                                        }
     48                                }
     49                                break;
     50                        default:
    1151                                return false;
    12                         } else {
    13                                 document.getElementById(element.id+'_error').style.display = 'none';
    14                                 element.className = element.className.replace( /(?:^|\s)ecard_error_input(?!\S)/g , '');
    15                                 return true;
    16                         }
    17                         break;
    18                 case EMAIL:
    19                         var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    20                         if (!filter.test(element.value)) {
    21                                 document.getElementById(element.id+'_error').style.display = 'block';
    22                                 element.className += " ecard_error_input";
    23                                 return false;
    24                         } else {
    25                                 document.getElementById(element.id+'_error').style.display = 'none';
    26                                 element.className = element.className.replace( /(?:^|\s)ecard_error_input(?!\S)/g , '');
    27                                 return true;
    28                         }
    29                         break;
    30                 case NUMBER:
    31                         if (element.value == '') {
    32                                 document.getElementById(element.id+'_error').style.display = 'inline';
    33                                 element.className += " ecard_admin_error_input";
    34                                 return false;
    35                         } else {
    36                                 if(parseFloat(element.value) % 1 == 0){
    37                                         return true;
    38                                 } else {
    39                                         document.getElementById(element.id+'_error').style.display = 'inline';
    40                                         element.className += " ecard_admin_error_input";
    41                                         return false;
    42                                 }
    43                         }
    44                         break;
    45                 default:
    46                         return false;
    47                         break;
     52                                break;
     53                }
    4854        }
    4955}
Note: See TracChangeset for help on using the changeset viewer.