?在一個比如表單驗證的過程中,有時候,假如要用戶一定要輸入某個字段,否則不給輸入
其他字段,即屏蔽其他字段的輸入,這個時候依然可以用jquery可以做到,例子如下:
1 假如頁面有三個字段,用戶名和密碼和密碼確認三個字段:
?
? <form>
<div>
<span class="label">User Name </span>
<input type="text" class="username" name="username"/>
<span class="error"> User name cannot be blank</span>
</div>
<div>
<span class="label">Password </span>
<input type="password" class="password" name="password" />
<span class="error"> Password cannot be blank</span>
</div>
<div>
<span class="label">Confirm Password </span>
<input type="password" class="confpass" name="confpass" />
<span class="error"> Password and Confirm Password don't match</span>
</div>
</form>
2 jquery中的腳本設置
?
- $(document).ready(function()?{ ??
- $( '.error' ).hide(); ??
- $( '.username' ).blur(function(){ ??
- data=$( '.username' ).val(); ??
- var?len=data.length; ??
- if (len< 1 ) ??
- { ??
- $( '.username' ).next().show(); ??
- $( '.password' ).attr( 'disabled' , true ); ??
- $( '.confpass' ).attr( 'disabled' , true ); ??
- } ??
- else ??
- { ??
- $( '.username' ).next().hide(); ??
- $( '.password' ).removeAttr( 'disabled' ); ??
- $( '.confpass' ).removeAttr( 'disabled' ); ??
- } ??
- }); ??
- $( '.password' ).blur(function(){ ??
- data=$( '.password' ).val(); ??
- var?len=data.length; ??
- if (len< 1 ) ??
- { ??
- $( '.password' ).next().show(); ??
- $( '.confpass' ).attr( 'disabled' , true ); ??
- } ??
- else ??
- { ??
- $( '.password' ).next().hide(); ??
- $( '.confpass' ).removeAttr( 'disabled' ); ??
- } ??
- }); ??
- $( '.confpass' ).blur(function(){ ??
- if ($( '.password' ).val()?!=$( '.confpass' ).val()) ??
- { ??
- $( '.confpass' ).next().show(); ??
- } ??
- else ??
- { ??
- $( '.confpass' ).next().hide(); ??
- } ??
- }); ??
- });??
$(document).ready(function() { $('.error').hide(); $('.username').blur(function(){ data=$('.username').val(); var len=data.length; if(len<1) { $('.username').next().show(); $('.password').attr('disabled',true); $('.confpass').attr('disabled',true); } else { $('.username').next().hide(); $('.password').removeAttr('disabled'); $('.confpass').removeAttr('disabled'); } }); $('.password').blur(function(){ data=$('.password').val(); var len=data.length; if(len<1) { $('.password').next().show(); $('.confpass').attr('disabled',true); } else { $('.password').next().hide(); $('.confpass').removeAttr('disabled'); } }); $('.confpass').blur(function(){ if($('.password').val() !=$('.confpass').val()) { $('.confpass').next().show(); } else { $('.confpass').next().hide(); } }); });
???
原理其實很簡單,比如這里,在每個文本框的onblur事件中進行判斷,先看用戶框
中的是否輸入和長度是否匹配,如果不符合要求的話,則$('.username').next().show();
這句,其實是顯示下一個元素(即出錯信息提示,即<span class="error"> User name cannot be blank</span>
)
? 并且同時$('.password').attr('disabled',true);
$('.confpass').attr('disabled',true);
?? 將其他字段的disabled屬性設置為TRUE即可.
?? 當然,要是輸入了的話,也要重新設置回來,道理就這么簡單了
?
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
