javascript - jquery to disable buttons on submit/click in forms and links -
in rails app have buttons submit information server. buttons part of form , not. i'm looking way apply jquery, disables buttons after click, both.
here current jquery:
  $('.btn-disabler').on('click', function() {     $(this).append("<i class='fa fa-spinner fa-pulse btn-loader'>").disable(true);     $(this).find('.btn-label').addclass('invisible');   });   this code adds icon disables button , makes text invisible. i've extended disable function work on anchor tags explained here https://stackoverflow.com/a/16788240/4584963
an example link:
<a class="btn btn-success btn-disabler" rel="nofollow" data-method="post" href="/approve?id=10">   <span class="btn-label">approve</span> </a>   an example form:
<form class="simple_form well" novalidate="novalidate" id="new_user" action="/" accept-charset="utf-8" method="post">       <div class="form-group">         <input class="string optional form-control" placeholder="first name" type="text" name="user[first_name]" id="user_first_name">       </div>       <div class="form-group">         <input class="string optional form-control" placeholder="last name" type="text" name="user[last_name]" id="user_last_name">       </div>       <div class="form-group">         <input class="string email optional form-control" placeholder="email" type="email" name="user[email]" id="user_email">       </div>       <div class="form-group">         <input class="password optional form-control" placeholder="password" type="password" name="user[password]" id="user_password">       </div>                       <div class="form-groups">         <input class="password optional form-control" placeholder="retype password" type="password" name="user[password_confirmation]" id="user_password_confirmation">       </div>       <button name="button" type="submit" class="btn btn btn-primary btn-disabler">         <span class="btn-label">submit</span>       </button> </form>   my jquery above does not work form. in form on click, button changes there no submission. jquery work form need change this:
  $('.signup-form').on('submit', function() {     $(this).find('.btn-disabler').append("<i class='fa fa-spinner fa-pulse btn-loader'>").disable(true);     $(this).find('.btn-label').addclass('invisible');   });   how can consolidate apply both links , form submit buttons? seems problem stems links need click event , form needs submit event.
you can use jquery is() check parent of current button object form or not in order submit form:
$('.btn-disabler').on('click', function() {     $(this).append("<i class='fa fa-spinner fa-pulse btn-loader'>").disable(true);     $(this).find('.btn-label').addclass('invisible');     if ($(this).parent().is("form")) $(this).parent().submit(); });      
Comments
Post a Comment