ソースを参照

add extra check in submit change trigger

Robin Herbots 12 年 前
コミット
dd1a119b56

+ 1 - 1
build.properties

@@ -7,7 +7,7 @@ distdir = dist
 
 build.major = 2
 build.minor = 2
-build.revision = 71
+build.revision = 72
 
 target = jquery.inputmask.bundle.js
 target.min = jquery.inputmask.bundle.min.js

+ 1 - 1
component.json

@@ -1,6 +1,6 @@
 {
     "name": "jquery.inputmask",
-    "version": "2.2.71",
+    "version": "2.2.72",
     "main": "./dist/jquery.inputmask.bundle.js",
     "dependencies": {
         "jquery": ">=1.5"

BIN
dist/jQuery.InputMask.2.2.71.nupkg


BIN
dist/jQuery.InputMask.2.2.72.nupkg


+ 6 - 6
dist/jquery.inputmask.bundle.js

@@ -3,7 +3,7 @@
 * http://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2013 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 2.2.71
+* Version: 2.2.72
 */
 
 (function ($) {
@@ -820,7 +820,7 @@
                     $input.removeClass('focus.inputmask');
                     //bind events
                     $input.closest('form').bind("submit", function () { //trigger change on submit if any
-                        if ($input[0]._valueGet() != getActiveMaskSet()["undoBuffer"]) {
+                        if ($input[0]._valueGet && $input[0]._valueGet() != getActiveMaskSet()["undoBuffer"]) {
                             $input.change();
                         }
                     });
@@ -1483,7 +1483,7 @@ Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
 Copyright (c) 2010 - 2013 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 2.2.71
+Version: 2.2.72
 
 Optional extensions on the jquery.inputmask base
 */
@@ -1585,7 +1585,7 @@ Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
 Copyright (c) 2010 - 2012 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 2.2.71
+Version: 2.2.72
 
 Optional extensions on the jquery.inputmask base
 */
@@ -2054,7 +2054,7 @@ Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
 Copyright (c) 2010 - 2013 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 2.2.71
+Version: 2.2.72
 
 Optional extensions on the jquery.inputmask base
 */
@@ -2221,7 +2221,7 @@ Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
 Copyright (c) 2010 - 2013 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 2.2.71
+Version: 2.2.72
 
 Regex extensions on the jquery.inputmask base
 Allows for using regular expressions as a mask

ファイルの差分が大きいため隠しています
+ 10 - 10
dist/jquery.inputmask.bundle.min.js


ファイルの差分が大きいため隠しています
+ 19 - 19
dist/min/jquery.inputmask.js


+ 1 - 1
jquery.inputmask.jquery.json

@@ -8,7 +8,7 @@
 		"inputmask",
 		"mask"
     ],
-    "version": "2.2.71",
+    "version": "2.2.72",
     "author": {
         "name": "Robin Herbots",
         "url": "http://github.com/RobinHerbots/jquery.inputmask"

+ 1 - 1
js/jquery.inputmask.js

@@ -820,7 +820,7 @@
                     $input.removeClass('focus.inputmask');
                     //bind events
                     $input.closest('form').bind("submit", function () { //trigger change on submit if any
-                        if ($input[0]._valueGet() != getActiveMaskSet()["undoBuffer"]) {
+                        if ($input[0]._valueGet && $input[0]._valueGet() != getActiveMaskSet()["undoBuffer"]) {
                             $input.change();
                         }
                     });

+ 116 - 87
qunit/tests.js

@@ -1,113 +1,142 @@
-$.fn.SendKey = function(keyCode){
-	var keydown = $.Event( "keydown" ),
-		keypress = $.Event( "keypress" );
-		
-		keydown.keyCode = keyCode;
-		keypress.keyCode = keyCode;
-		$(this).trigger( keydown ).trigger( keypress );
+$.fn.SendKey = function (keyCode) {
+    var keydown = $.Event("keydown"),
+		keypress = $.Event("keypress");
+    keyup = $.Event("keyup");
+
+    keydown.keyCode = keyCode;
+    $(this).trigger(keydown)
+    if (!keydown.isDefaultPrevented()) {
+        keypress.keyCode = keyCode;
+        $(this).trigger(keypress);
+        if (!keypress.isDefaultPrevented()) {
+            keyup.keyCode = keyCode;
+            $(this).trigger(keryup);
+        }
+    }
 }
 
 
 module("Simple masking");
 
-test( "inputmask(\"99-99-99\", { clearMaskOnLostFocus: false}", function() {
-  $('body').append('<input type="text" id="testmask" />');
-  $("#testmask").inputmask("99-99-99", { clearMaskOnLostFocus: false});
-  
-  equal(document.getElementById("testmask").value, "__-__-__", "Result " + document.getElementById("testmask").value);
-  
-  $("#testmask").remove();
+test("inputmask(\"99-99-99\", { clearMaskOnLostFocus: false}", function () {
+    $('body').append('<input type="text" id="testmask" />');
+    $("#testmask").inputmask("99-99-99", { clearMaskOnLostFocus: false });
+
+    equal(document.getElementById("testmask").value, "__-__-__", "Result " + document.getElementById("testmask").value);
+
+    $("#testmask").remove();
+});
+
+test("inputmask(\"999.999.999\")", function () {
+    $('body').append('<input type="text" id="testmask" />');
+    $("#testmask").inputmask("999.999.999");
+
+    $("#testmask")[0].focus();
+
+    var event;
+
+    $("#testmask").SendKey(49);
+    $("#testmask").SendKey(50);
+    $("#testmask").SendKey(51);
+
+    equal($("#testmask").val(), "123.___.___", "Result " + $("#testmask").val());
+
+    $("#testmask").remove();
 });
 
-test( "inputmask(\"999.999.999\")", function() {
-		$('body').append('<input type="text" id="testmask" />');
-		$("#testmask").inputmask("999.999.999");
-  
-		$("#testmask")[0].focus();
-  
-		var event;
-			     
-		$("#testmask").SendKey( 49 );
-		$("#testmask").SendKey( 50 );
-		$("#testmask").SendKey( 51 );
-				
-		equal( $("#testmask").val(), "123.___.___", "Result " + $("#testmask").val());
-  
-		$("#testmask").remove();
+asyncTest("inputmask(\"999.999.999\", { oncomplete: ... })", 1, function () {
+    $('body').append('<input type="text" id="testmask" />');
+    $("#testmask").inputmask("999.999.999", {
+        oncomplete: function () {
+            equal($("#testmask").val(), "123.456.789", "Result " + $("#testmask").val());
+            start();
+            $("#testmask").remove();
+        }
+    });
+
+    $("#testmask")[0].focus();
+    $("#testmask").SendKey(49);
+    $("#testmask").SendKey(50);
+    $("#testmask").SendKey(51);
+    $("#testmask").SendKey(52);
+    $("#testmask").SendKey(53);
+    $("#testmask").SendKey(54);
+    $("#testmask").SendKey(55);
+    $("#testmask").SendKey(56);
+    $("#testmask").SendKey(57);
 });
 
-asyncTest( "inputmask(\"999.999.999\", { oncomplete: ... })", 1,function() {
-		$('body').append('<input type="text" id="testmask" />');
-		$("#testmask").inputmask("999.999.999", {
-			oncomplete: function(){ 
-							equal( $("#testmask").val(), "123.456.789", "Result " + $("#testmask").val());
-							start();
-							$("#testmask").remove();
-						}
-		});
-  
-		$("#testmask")[0].focus();			     
-		$("#testmask").SendKey( 49 );
-		$("#testmask").SendKey( 50 );
-		$("#testmask").SendKey( 51 );
-		$("#testmask").SendKey( 52 );
-		$("#testmask").SendKey( 53 );
-		$("#testmask").SendKey( 54 );
-		$("#testmask").SendKey( 55 );
-		$("#testmask").SendKey( 56 );
-		$("#testmask").SendKey( 57 );		
+asyncTest("inputmask(\"9-AAA.999\") - change event", 1, function () {
+    $('body').append('<input type="text" id="testmask" />');
+    $("#testmask").inputmask("9-AAA.999").change(function () {
+        ok(true, "Change triggered");
+        setTimeout(function () {
+            $("#testmask").remove();
+            start();
+        });
+    });
+
+    $("#testmask")[0].focus();
+    $("#testmask").SendKey(49);
+    $("#testmask").SendKey(65);
+    $("#testmask").SendKey(66);
+    $("#testmask").SendKey(67);
+    $("#testmask").SendKey(50);
+    $("#testmask").SendKey(51);
+
+    $("#testmask").blur();
 });
 
 
 module("Initial value setting");
 
-test( "inputmask(\"999:99\", { placeholder: \"0\"}) value=\"007:20\"", function() {
-  $('body').append('<input type="text" id="testmask" value="007:20" />');
-  $("#testmask").inputmask("999:99", { placeholder: "0"});
-  
-  equal( $("#testmask").val(), "007:20", "Result " + $("#testmask").val());
-  
-  $("#testmask").remove();
+test("inputmask(\"999:99\", { placeholder: \"0\"}) value=\"007:20\"", function () {
+    $('body').append('<input type="text" id="testmask" value="007:20" />');
+    $("#testmask").inputmask("999:99", { placeholder: "0" });
+
+    equal($("#testmask").val(), "007:20", "Result " + $("#testmask").val());
+
+    $("#testmask").remove();
 });
 
-test( "inputmask(\"99 999 999 999 9999 \\D\\E*** 9999\") ~ value=\"01 650 103 002 0001 DE101 5170\"", function() {
-  $('body').append('<input type="text" id="testmask" value="01 650 103 002 0001 DE101 5170" />');
-  $("#testmask").inputmask("99 999 999 999 9999 \\D\\E*** 9999");
-  equal( $("#testmask").val(), "01 650 103 002 0001 DE101 5170", "Result " + $("#testmask").val());
-  
-  $("#testmask").remove();
+test("inputmask(\"99 999 999 999 9999 \\D\\E*** 9999\") ~ value=\"01 650 103 002 0001 DE101 5170\"", function () {
+    $('body').append('<input type="text" id="testmask" value="01 650 103 002 0001 DE101 5170" />');
+    $("#testmask").inputmask("99 999 999 999 9999 \\D\\E*** 9999");
+    equal($("#testmask").val(), "01 650 103 002 0001 DE101 5170", "Result " + $("#testmask").val());
+
+    $("#testmask").remove();
 });
 
-test( "inputmask(\"99 999 999 999 9999 \\D\\E*** 9999\") ~ value=\"016501030020001DE1015170\"", function() {
-  $('body').append('<input type="text" id="testmask" value="016501030020001DE1015170" />');
-  $("#testmask").inputmask("99 999 999 999 9999 \\D\\E*** 9999");
-  equal( $("#testmask").val(), "01 650 103 002 0001 DE101 5170", "Result " + $("#testmask").val());
-  
-  $("#testmask").remove();
+test("inputmask(\"99 999 999 999 9999 \\D\\E*** 9999\") ~ value=\"016501030020001DE1015170\"", function () {
+    $('body').append('<input type="text" id="testmask" value="016501030020001DE1015170" />');
+    $("#testmask").inputmask("99 999 999 999 9999 \\D\\E*** 9999");
+    equal($("#testmask").val(), "01 650 103 002 0001 DE101 5170", "Result " + $("#testmask").val());
+
+    $("#testmask").remove();
 });
 
-test( "inputmask(\"\\D\\E***\") ~ value=\"DE001\"", function() {
-  $('body').append('<input type="text" id="testmask" value="DE001" />');
-  $("#testmask").inputmask("\\D\\E***");
-  equal( $("#testmask").val(), "DE001", "Result " + $("#testmask").val());
-  
-  $("#testmask").remove();
+test("inputmask(\"\\D\\E***\") ~ value=\"DE001\"", function () {
+    $('body').append('<input type="text" id="testmask" value="DE001" />');
+    $("#testmask").inputmask("\\D\\E***");
+    equal($("#testmask").val(), "DE001", "Result " + $("#testmask").val());
+
+    $("#testmask").remove();
 });
 
-test( "inputmask(\"decimal\") ~ value=\"123.45\"", function() {
-  $('body').append('<input type="text" id="testmask" value="123.45" />');
-  $("#testmask").inputmask("decimal");
-  equal( $("#testmask").val(), "123.45", "Result " + $("#testmask").val());
-  
-  $("#testmask").remove();
+test("inputmask(\"decimal\") ~ value=\"123.45\"", function () {
+    $('body').append('<input type="text" id="testmask" value="123.45" />');
+    $("#testmask").inputmask("decimal");
+    equal($("#testmask").val(), "123.45", "Result " + $("#testmask").val());
+
+    $("#testmask").remove();
 });
 
 module("Set value with fn.val");
-test( "inputmask(\"decimal\") ~ value=\"123.45\"", function() {
-  $('body').append('<input type="text" id="testmask" />');
-  $("#testmask").inputmask("decimal");
-  $("#testmask").val("123.45");
-  equal( $("#testmask").val(), "123.45", "Result " + $("#testmask").val());
-  
-  $("#testmask").remove();
+test("inputmask(\"decimal\") ~ value=\"123.45\"", function () {
+    $('body').append('<input type="text" id="testmask" />');
+    $("#testmask").inputmask("decimal");
+    $("#testmask").val("123.45");
+    equal($("#testmask").val(), "123.45", "Result " + $("#testmask").val());
+
+    $("#testmask").remove();
 });