I am trying to get JavaScript to measure a text field and auto submit at a character limit for an Ajax callback to be validated against a Luhn Algorithm and errors out on failure to validate.
I found this code in Firing ajax_callback on textfield after a minimum number of character.
// Trigger ajax event on myitem only after 5th character typed.
$('.myitem-class').on('keyup', function() {
if ($(this).val().length == 5) {
$(this).trigger('change');
}
});
The JavaScript can allegedly be put inline in a wrapper like this to be used in an Ajax callback in a form. See drupal_add_js within AJAX callback.
function my_module_form($form, &$form_state) {
drupal_add_js('Drupal.ajax.prototype.commands.myFunction = function(ajax, response, status) {
// …
}',
'inline'
);
return $form;
}
I got to run replacing function(ajax, response, status)
with function($, Drupal)
.
When I put in the code, it throws a PHP error at ).on(
. I wasn't able to get the inline wrapper recommended in Converting 6.x modules to 7.x / JavaScript should be compatible with libraries other than jQuery to work because it fails seeing the $
as a variable.
(function ($) {
// […]
}(jQuery));
Right now, I am stopped by syntax errors.
Does anyone know how to get this JavaScript code work?