九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
關(guān)于input設(shè)置為disabled后,無法傳值到后臺
<select class="js-select-id " style="margin-top:15px; ">    <option style="color:#000;" value="身份證">身份證編號</option>    <option style="color:#000;" value="護照">護照編號</option></select><input type="text" id="usr_nm" name="usr_nm" maxlength="50" value=""><a class="link" href="javascript:void(0);">驗證</a>//腳本增加disabled<script type="text/javascript">    jQuery('input#usr_nm, .js-select-id, .link').attr('disabled', 'disabled');</script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

問題描述:

1.當我將這些標簽全部設(shè)為disabled之后,發(fā)現(xiàn)<a>標簽仍然有效,且后臺無法獲取input標簽中的值了;
2.當我將這些標簽全部設(shè)為readonly之后, 發(fā)現(xiàn)<select>標簽仍然有效,<a>標簽依然有效;

解決方案:

<select class="js-select-id " style="margin-top:15px; ">    <option style="color:#000;" value="身份證">身份證編號</option>    <option style="color:#000;" value="護照">護照編號</option></select><input type="text" id="usr_nm" name="usr_nm" maxlength="50" value="">//我將<a>標簽換成<button>標簽,同時加上`cursor:pointer`使鼠標移到上面有小手圖形<button class="link" style="cursor:pointer">驗證</button><script type="text/javascript">//input標簽我用readonly,select標簽繼續(xù)用disabledjQuery('#usr_nm').attr('readonly', 'readonly');jQuery('.js-select-id').attr('disabled', 'disabled');</script>   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

刨根問底:

按照W3C的規(guī)范
設(shè)置為disabled的input將會有下面的限制:
- 不能接收焦點(如:jQuery(‘#usr_nm’).focus();)
- 使用tab鍵時將被跳過
- 可能不是successful的

設(shè)置為readonly的input將會有下面的限制:
- 可以接收焦點但不能被修改
- 可以使用tab鍵進行導航
- 可能是successful的
- 只有successful的表單元素才是有效數(shù)據(jù),也就是可以進行form表單提交。disabled和readonly的文本輸入框只能通過腳本進行修改value屬性。

input中的disabled 和 readonly的區(qū)別

1、Readonly只針對input(text / password)和textarea有效,而disabled對于所有的表單元素都有效,
2、但是表單元素在使用了disabled后,當我們將表單以POST或GET的方式提交的話,這個元素的值不會被傳遞出去,而readonly會將該值傳遞出去(readonly接受值更改可以回傳,disable接受改但不回傳數(shù)據(jù))。

disabled和readonly這兩個屬性有一些共同之處,比如都設(shè)為true,則form屬性將不能被編輯,往往在寫js代碼的時候容易混合使用這兩個屬性,其實他們之間是有一定區(qū)別的:
1. 如果一個輸入項的disabled設(shè)為true,則該表單輸入項不能獲取焦點,用戶的所有操作(鼠標點擊和鍵盤輸入等)對該輸入項都無效,最重要的一點是當提交表單時,這個表單輸入項將不會被提交。
2. 而readonly只是針對文本輸入框這類可以輸入文本的輸入項,如果設(shè)為true,用戶只是不能編輯對應的文本,但是仍然可以聚焦焦點,并且在提交表單的時候,該輸入項會作為form的一項提交。

===================

一般比較常用的情況是:
1.在某個表單中為用戶預填了某個唯一識別代碼,不允許用戶改動,但是在提交時需要傳遞該值,此時應該將它的屬性設(shè)置為readonly 。
2.經(jīng)常遇到當用戶正式提交了表單后需要等待管理員的信息驗證,這就不允許用戶再更改表單中的數(shù)據(jù),而是只能夠查看,由于disabled的作用元素范圍大,所以此時應該使用disabled,但同時應該注意的是要將submit button也disabled掉,否則只要用戶按了這個按鈕,如果在數(shù)據(jù)庫操作頁面中沒有做完整性檢測的話,數(shù)據(jù)庫中的值就會被清除。如果說在這種情況下用readonly來代替disabled的話,若表單中只有input(text / password)和textarea元素,那還是可以的,如果存在其他發(fā)元素,比如select,用戶可以在重新改寫值后按回車鍵進行提交(回車是默認的submit觸發(fā)按鍵)
3.我們常常在用戶按了提交按鈕后,利用javascript將提交按鈕disabled掉,這樣可以防止網(wǎng)絡(luò)條件比較差的環(huán)境下,用戶反復點提交按鈕導致數(shù)據(jù)冗余地存入數(shù)據(jù)庫

參考資料:
https://www.cnblogs.com/luoguixin/p/6593993.html
http://blog.csdn.net/u014185140/article/details/51985147

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
DOM 操作表單
js中Readonly和Disabled的區(qū)別 - 知菋、的日志 - 網(wǎng)易博客
希望表單中的文本框是只讀的
jQuery只讀頁面
input中disabled提交后得不到值的解決辦法及區(qū)別
記錄最近的一些遇到的前端面試題
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服