From d81622772d4914a39858b6f6c2ea561848c85ba9 Mon Sep 17 00:00:00 2001 From: Aleksandras Nelkinas Date: Sun, 10 Jun 2012 01:50:48 +0300 Subject: [PATCH 1/2] In my opinion, the expected behavior of completed event is for it to be called when the mask has been filled in completely, not when user types in a valid character at the last position of the mask. --- src/jquery.maskedinput.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jquery.maskedinput.js b/src/jquery.maskedinput.js index af67604..5a4edf6 100644 --- a/src/jquery.maskedinput.js +++ b/src/jquery.maskedinput.js @@ -166,7 +166,7 @@ writeBuffer(); var next = seekNext(p); input.caret(next); - if (settings.completed && next >= len) + if (settings.completed && (buffer.indexOf(settings.placeholder) === -1)) settings.completed.call(input); } } From 0e77d079d2d0407a9a137097de996101c83211d6 Mon Sep 17 00:00:00 2001 From: Aleksandras Nelkinas Date: Sun, 10 Jun 2012 02:53:21 +0300 Subject: [PATCH 2/2] Oops, buffer is an array and IE doesn't support Array.indexOf. Replaced it with jQuery's $.inArray. --- src/jquery.maskedinput.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jquery.maskedinput.js b/src/jquery.maskedinput.js index 5a4edf6..745d3b5 100644 --- a/src/jquery.maskedinput.js +++ b/src/jquery.maskedinput.js @@ -166,7 +166,7 @@ writeBuffer(); var next = seekNext(p); input.caret(next); - if (settings.completed && (buffer.indexOf(settings.placeholder) === -1)) + if (settings.completed && ($.inArray(settings.placeholder, buffer) === -1)) settings.completed.call(input); } }