ソースを参照

fix value setting for multiple masks

Robin Herbots 12 年 前
コミット
1f1fc0a281
1 ファイル変更2 行追加3 行削除
  1. 2 3
      js/jquery.inputmask.js

+ 2 - 3
js/jquery.inputmask.js

@@ -616,7 +616,6 @@
                                 if (maskPos >= 0 && maskPos < getMaskLength()) {
                                 if (maskPos >= 0 && maskPos < getMaskLength()) {
                                     result = _isValid(maskPos, getActiveMaskSet(), c, strict);
                                     result = _isValid(maskPos, getActiveMaskSet(), c, strict);
                                     if (result !== false) {
                                     if (result !== false) {
-                                        //console.log("pos " + pos + " ndx " + activeMasksetIndex + " validate " + getActiveBuffer().join('') + " lv " + getActiveMaskSet()['lastValidPosition']);
                                         if (result === true) {
                                         if (result === true) {
                                             result = { "pos": maskPos }; //always take a possible corrected maskposition into account
                                             result = { "pos": maskPos }; //always take a possible corrected maskposition into account
                                         }
                                         }
@@ -627,6 +626,7 @@
                                     results.push({ "activeMasksetIndex": index, "result": result });
                                     results.push({ "activeMasksetIndex": index, "result": result });
                                 }
                                 }
                             }
                             }
+                            //console.log("pos " + pos + " ndx " + activeMasksetIndex + " validate " + getActiveBuffer().join('') + " lv " + getActiveMaskSet()['lastValidPosition']);
                         }
                         }
                     });
                     });
                     activeMasksetIndex = currentActiveMasksetIndex; //reset activeMasksetIndex
                     activeMasksetIndex = currentActiveMasksetIndex; //reset activeMasksetIndex
@@ -779,7 +779,6 @@
                             ((charCode != getBufferElement(getActiveBufferTemplate().slice(), index, true) || isMask(index)) &&
                             ((charCode != getBufferElement(getActiveBufferTemplate().slice(), index, true) || isMask(index)) &&
                              $.inArray(charCode, getActiveBufferTemplate().slice(lvp + 1, pos)) == -1)
                              $.inArray(charCode, getActiveBufferTemplate().slice(lvp + 1, pos)) == -1)
                             ) {
                             ) {
-                            //console.log("trigger on " + index + " " + charCode);
                             $(input).trigger("_keypress", [true, charCode.charCodeAt(0), writeOut, strict, index]);
                             $(input).trigger("_keypress", [true, charCode.charCodeAt(0), writeOut, strict, index]);
                         }
                         }
                     });
                     });
@@ -1443,7 +1442,7 @@
 
 
                                 var pos, results, result, c = String.fromCharCode(k);
                                 var pos, results, result, c = String.fromCharCode(k);
                                 if (checkval) {
                                 if (checkval) {
-                                    var pcaret = strict ? ndx : getActiveMaskSet()["p"];
+                                    var pcaret = strict ? ndx : getActiveMaskSet()["lastValidPosition"] + 1;
                                     pos = { begin: pcaret, end: pcaret };
                                     pos = { begin: pcaret, end: pcaret };
                                 } else {
                                 } else {
                                     pos = caret(input);
                                     pos = caret(input);