Browse Source

Merge pull request #126 from RobinHerbots/dev

Dev
Robin Herbots 13 years ago
parent
commit
484d0f2ee5
2 changed files with 10 additions and 4 deletions
  1. 3 3
      js/jquery.inputmask.date.extensions.js
  2. 7 1
      js/jquery.inputmask.js

+ 3 - 3
js/jquery.inputmask.date.extensions.js

@@ -67,7 +67,7 @@ Optional extensions on the jquery.inputmask base
                     validator: function(chrs, buffer, pos, strict, opts) {
                     validator: function(chrs, buffer, pos, strict, opts) {
                         var isValid = opts.regex.val1.test(chrs);
                         var isValid = opts.regex.val1.test(chrs);
                         if (!strict && !isValid) {
                         if (!strict && !isValid) {
-                            if (chrs.charAt(1) == opts.separator[opts.separator.length - 1]) {
+                            if (chrs.charAt(1) == opts.separator.charAt(opts.separator.length - 1)) {
                                 isValid = opts.regex.val1.test("0" + chrs.charAt(0));
                                 isValid = opts.regex.val1.test("0" + chrs.charAt(0));
                                 if (isValid) {
                                 if (isValid) {
                                     buffer[pos - 1] = "0";
                                     buffer[pos - 1] = "0";
@@ -98,7 +98,7 @@ Optional extensions on the jquery.inputmask base
                             var frontValue = buffer.join('').substr(0, 3);
                             var frontValue = buffer.join('').substr(0, 3);
                             var isValid = opts.regex.val2(opts.separator).test(frontValue + chrs);
                             var isValid = opts.regex.val2(opts.separator).test(frontValue + chrs);
                             if (!strict && !isValid) {
                             if (!strict && !isValid) {
-                                if (chrs.charAt(1) == opts.separator[opts.separator.length - 1]) {
+                                if (chrs.charAt(1) == opts.separator.charAt(opts.separator.length - 1)) {
                                     isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs.charAt(0));
                                     isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs.charAt(0));
                                     if (isValid) {
                                     if (isValid) {
                                         buffer[pos - 1] = "0";
                                         buffer[pos - 1] = "0";
@@ -205,7 +205,7 @@ Optional extensions on the jquery.inputmask base
                                 var frontValue = buffer.join('').substr(5, 3);
                                 var frontValue = buffer.join('').substr(5, 3);
                                 var isValid = opts.regex.val2(opts.separator).test(frontValue + chrs);
                                 var isValid = opts.regex.val2(opts.separator).test(frontValue + chrs);
                                 if (!strict && !isValid) {
                                 if (!strict && !isValid) {
-                                    if (chrs.charAt(1) == opts.separator[opts.separator.length - 1]) {
+                                    if (chrs.charAt(1) == opts.separator.charAt(opts.separator.length - 1)) {
                                         isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs.charAt(0));
                                         isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs.charAt(0));
                                         if (isValid) {
                                         if (isValid) {
                                             buffer[pos - 1] = "0";
                                             buffer[pos - 1] = "0";

+ 7 - 1
js/jquery.inputmask.js

@@ -666,7 +666,13 @@
 
 
                 //apply mask
                 //apply mask
                 lastPosition = checkVal(el, buffer, true);
                 lastPosition = checkVal(el, buffer, true);
-                if (document.activeElement === el) { //position the caret when in focus
+
+   		// Wrap document.activeElement in a try/catch block since IE9 throw "Unspecified error" if document.activeElement is undefined when we are in an IFrame.
+		var activeElement;	
+		try {		    		
+		   activeElement = document.activeElement;
+		} catch(e) {}
+                if (activeElement === el) { //position the caret when in focus
                     $input.addClass('focus.inputmask');
                     $input.addClass('focus.inputmask');
                     caret(el, lastPosition);
                     caret(el, lastPosition);
                 } else if (opts.clearMaskOnLostFocus) {
                 } else if (opts.clearMaskOnLostFocus) {