From 74b65330cde8591ccab749511a106002409a5ef5 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 24 Oct 2017 18:10:40 -0300 Subject: [PATCH] Bug 10267: Display the message only if the user enters too many characters It seems better to display the warning if the user tries to enter too many characters in the input. Test plan: With max=16 1. Copy/paste a string with 15, 16 and 17 characters 2. Enter a cardnumber of 15, 16, 17 characters The warning should be displayed only the input overflows Signed-off-by: Aleisha Amohia Signed-off-by: Kyle M Hall --- .../prog/en/modules/members/memberentrygen.tt | 29 ++++++++++++++++------ 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt index 68dafda..5ba4122 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt @@ -35,16 +35,31 @@ $(document).ready(function() { [% END %] }); +function update_cardnumber_warning(size){ + var max_len = [% maxlength_cardnumber %]; + if ( size >= max_len ) { + $("#cn_max").show(); + } else { + $("#cn_max").hide(); + } +} + $(document).ready(function() { $("#cn_max").hide(); - var max_len = [% maxlength_cardnumber %]; - $("#cardnumber").change(function(){ - if ( $("#cardnumber").val().length >= max_len ) { - $("#cn_max").show(); - } else { - $("#cn_max").hide(); - } + var content; + $("#cardnumber").on("keydown", function(e){ + content = $(this).val(); + }); + $("#cardnumber").on("keyup", function(e){ + // .val() will return the value of the input after the key has been released + var l = $(this).val().length; + if ( l == content.length + 1 ) { l--; } + update_cardnumber_warning(l); }); + $("#cardnumber").bind("paste", function(e){ + var pastedData = e.originalEvent.clipboardData.getData('text'); + update_cardnumber_warning(pastedData.length - 1); + } ); var toggle_quick_add = $(".toggle_quick_add"); $(toggle_quick_add).click(function(e){ toggle_quick_add.toggle(); -- 2.10.2