表单中的input设置为disabled后不会被提交的解决方法。一文中,针对设置了 disabled 属性的 input 无法提交,我们提出的解决办法是使用 readonly 属性替代 disabled 属性。

在实际使用过程中,我们发现普通的文本框用上面的方法可以完美的解决,但是遇到下拉框(select)和单选框(radio)时,readonly 属性显示效果与 disabled 属性相同,但是在效果上却存在问题,就是设置了 readonly 属性的下拉框(select)和单选框(radio)仍然可以选择。

针对这个情况的解决办法如下:

下拉框(select)

//加入如下的样式即可
<style>
    select[readonly] {
        background: #eee;
        cursor: no-drop;
    }
    select[readonly] option {
        display: none;
    }
</style>
<select name="" id="" readonly>
    <option value="">1</option>
    <option value="">1</option>
</select>

单选框

//input框很简单直接在点击时加上return false,来阻止点击事件
<input type="radio" onclick="return false;">苹果
<input type="radio" onclick="return false;">榴莲
(adsbygoogle = window.adsbygoogle || []).push({});