簡體   English   中英

將readonly屬性添加到所有表單元素

[英]Adding readonly attribute to all form elements

我正在使用jQuery為所有表單元素添加readonly屬性,但似乎無法弄清楚如何執行此操作。

這是我正在嘗試的:

$('#form1').each( function() { $(this).attr('readonly', true); });

我有一個簡單的表單使用label / input來顯示表單元素。 我也使用tipsy (工具提示插件)以及Formalize (外觀和感覺插件)

嘗試這個:

$('#form1 input').attr('readonly', 'readonly');
  • 您可能希望包含更多元素#form1 input, #form1 textarea, #form1 select
  • 在jQuery中,您通常不需要遍歷集合。 attr適用於與單個元素相同的集合。
  • 在您的情況下, #form1僅匹配<form>元素,並且each元素each被觸發一次 要查找所有元素(輸入與否),可以編寫#form1 *

這甚至更好地使用輸入選擇器 另請注意,“只讀”僅適用於輸入類型的文本和密碼以及textarea。 它不適用於選擇元素,收音機,復選框,按鈕。 如果要顯示但不允許他們鍵入或單擊。 嘗試使用禁用。

$("#form1 :input").attr("disabled", true);

注意:通過使用禁用它會使輸入灰色,選擇或textarea但在提交時不會發布此元素。 如果你需要它發布讓我知道,我可以幫助你。

這是一個演示 http://jsfiddle.net/j5PAn/

獲取表單的所有元素:

$.each($('form').serializeArray(), function(index, value){
    $('[name="' + value.name + '"]').attr('readonly', 'readonly');
});
<form>
    <fieldset disabled>
        <input type="text">
        <input type="radio">
        <input type="checkbox">
    </fieldset>
</form>

可能是最好的方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM