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;