Algorithm-CouponCode
view release on metacpan or search on metacpan
html/jquery.couponcode.js view on Meta::CPAN
$( self.inputs ).each(function(i, input) {
input
.keydown(function() { setTimeout(function() { validate(i); }, 5 ); } )
.blur(function() { self.focus = null; validate(i); } )
.focus( function() { self.focus = i; } );
});
self.inputs[0].on('paste', function() {
setTimeout(function() { set_parts(self.inputs[0].val()); }, 2);
});
if(start_val.length > 0) {
set_parts(start_val);
}
wrapper.append(inner);
if(self.setFocus) {
self.inputs[0].focus();
}
function set_parts(code) {
var parts = code.split('-');
for(var i = 0; i < self.parts; i++) {
html/jquery.couponcode.js view on Meta::CPAN
self.flags[index] = 0;
}
update_hidden_field();
}
function validate_one_field(input, index) {
var val = input.val();
var focussed = (self.focus === index);
if(val == '') { return; }
var code = clean_up( val );
if(code.length > 4 || BAD_SYMBOL.test(code)) {
return false;
}
if(code.length < 4) {
return focussed ? null : false;
}
if(code.charAt(3) != checkdigit(code, index + 1)) {
return false;
}
if(val != code) {
input.val(code);
}
if(focussed && (index < self.parts - 1)) {
self.inputs[index + 1].focus();
( run in 0.602 second using v1.01-cache-2.11-cpan-65fba6d93b7 )