JavaScript 唯讀的欄位 要怎麼傳值

HTML 的 Select、Input 可以設定資料不可修改(唯讀),屬性值如下:

  • Select:disabled
  • Input:readonly

但是會遇到 form 要傳送資料時,Input 能收到資料,但是 Select 收不到資料的問題,要怎麼解決呢?

JavaScript 唯讀的欄位 要怎麼傳值

HTML Select 設定 disabled 的話,form submit 的值就不會傳送出去~

想到的解法就是在 form submit 的時候,直接將 disabled 的屬性移除即可。(若怕被人修改,可以移除 disabled 後,記得再馬上補回去)

下述提供三種寫法:

  • jQuery:$("#select1").removeAttr("disabled");
  • 原生 JavaScript querySelector:document.querySelector("#select2").removeAttribute("disabled");
  • 原生 JavaScript getElementById:document.getElementById('select3').disabled = false;

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料