Me gustaría deshabilitar el botón de envío de formulario hasta que todas las entradas tengan un valor en ellas. Mi vista tiene estas entradas:
<%= form_for @item, html: { enctype: "multipart/form-data", id: "upload-data" } do |f| %> <%= f.text_field :name %> <% end %> Luego ejecuto esta función de validate() con cada evento de keyup :
$(document).ready(function() { validate(); $('input').on('keyup', validate); }); function validate() { var input = $('input'); var isValid = false; $.each(input, function(k, v) { if (v.type != "submit") { isValid = (k == 0) ? v.value ? true : false : isValid && v.value ? true : false; } if (isValid) { $("input[type=submit]").prop("disabled", false); } else { $("input[type=submit]").prop("disabled", true); } }); }Aunque el mismo código funciona aquí , no funciona en mi vista de Rails. Se mantiene deshabilitado. ¿Qué estoy pasando por alto?
tal vez porque turbolinks, en Rails no puede simplemente copiar y pegar el javascript que necesita para adaptarlo al script y sintaxis de turbolinks
podría intentar cambiar su script de
$(document).ready(function() { });dentro
$(document).on('ready turbolinks:load', function() { })