2016-07-25 12 views
0

我使用https://jqueryvalidation.org/驗證我的表單在前端。基本的「if字段爲空 - 驗證」工作正常。jquery.validate - 按鈕被禁用,直到有效的電子郵件

但是我希望提交按鈕最初被禁用,直到輸入有效的電子郵件地址。我希望按鈕在字段變爲有效時(在按鍵上)立即啓用。

所以基本上我只需要刪除'btn-disabled'類,一旦它有效。

我努力與jQuery添加此功能/方法。如果有人能幫忙,我會很感激。

繼承人稍微simplifed版本:0​​

$(document).ready(function(){ 

    $("#reset-form").validate({ 
     rules: { 
      emailaddress: { 
       required: true, 
       email: true 
      } 

     }, 
     messages: { 
      email: "Please enter a valid email address" 
     } 

    }); 

}); 
+0

可能重複:http://stackoverflow.com/a/13031687/6188402 –

回答

0

ATTR你可以檢查形式是輸入電子郵件地址後,有效。保持您的按鈕在默認情況下處於禁用狀態,並在驗證表單後刪除禁用的屬性。

$("#emailaddress").on("blur", function(){ 
    if($("#reset-form").valid()) 
    { 
     $("#btn-reset").removeAttr("disabled"); 
    } 
}); 

典筆:http://codepen.io/anon/pen/YWLjKX?editors=1010

+1

乾杯深。我將你的'模糊'改爲'按鍵',這似乎是我想要的。 – swisstony

0

您的這個

$('#button1, #button2').attr("disabled", true); 
+0

嗨卡洛斯我真的不關心此時禁用的屬性(儘管我打算在後面添加它)。我想知道的是,如何在輸入有效的電子郵件後立即使用鏈接的驗證插件來執行某些操作(即添加/刪除類等)。 由'即將' - 我的意思是某種按鍵事件 – swisstony

0

檢查:

<script type="text/javascript"> 
       (function() { 
         $('form > input').keyup(function() { 
          var empty = false; 
          $('form > input').each(function() { 
           if ($(this).val() == '') { // write your code for valid email here 
            empty = true; 
           } 
          }); 
          if (empty) { 
           $('#register').attr('disabled', 'disabled'); 
          } else { 
           $('#register').removeAttr('disabled'); 
          } 
         }); 
        })() 
       </script> 
相關問題