From 20c9d15225dc8e902b1a06ac9e50c3402d5d34c4 Mon Sep 17 00:00:00 2001 From: Eran Tiktin Date: Sat, 1 Nov 2014 23:35:40 +0200 Subject: [PATCH] Fixed toggle function ignoring whitespace The togglePlaceholderForInput function decides wether to display or hide the placeholder by trimming the input value and checking it's length. If it's 0 the placeholder is displayed, otherwise it's hidden. The issue here is that by trimming the value, we can confuse the user because we ignore the actual value. For example if the value a bunch of spaces, we will show the placeholder like there's noting there, even though the user might be able to submit it. If whitespace is not a valid value, then the developer should use some validation mechanism to prevent it from being submitted and alert the user. It shouldn't be the responsibility of a placeholder plugin. Here's a Codepen without the fix with a value made up of spaces (click on "Submit" to see what I mean): http://codepen.io/anon/pen/bJBtL Here's a Codepen with the fix: http://codepen.io/anon/pen/kDABj --- jquery.placeholder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jquery.placeholder.js b/jquery.placeholder.js index 299fc67..7017b6a 100644 --- a/jquery.placeholder.js +++ b/jquery.placeholder.js @@ -85,7 +85,7 @@ }); function togglePlaceholderForInput() { - $placeholder.toggle(!$.trim($input.val()).length); + $placeholder.toggle(!$input.val().length); } $input.on('focus.placeholder', function() {