设置ReadOnly属性的文本框 JS无法改变其值的解决方法

发布时间:2020-02-13编辑:脚本学堂
当文本框设置了readOnly属性后,后台无法取得JS设置的值,本文分享下解决方法,有需要的朋友参考下。

js无法改变 设置了readonly属性的文本框的值,原因在于:
发生回发时,TextBox 控件(其 ReadOnly 属性设置为 true)的 Text 值被发送到服务器,但是服务器不处理只读文本框。
这么操作的目的,是为了防止恶意用户更改只读的 Text 值。
在回发之间,Text 属性的值保留在视图状态中,除非经过服务器端代码修改。

1,Button的源代码
 

复制代码 代码示例:
protected virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection)
{
    base.ValidateEvent(postDataKey);
    string text = this.Text;
    string str2 = postCollection[postDataKey];
    if (!this.ReadOnly && !text.Equals(str2, StringComparison.Ordinal))
    {
        this.Text = str2;
        return true;
    }
    return false;
}

解决方法:
1,JS设置文本框为ReadOnly
$('#txtEPullDate').attr("readonly", "readonly");
按以上方式处理,后台代码就可以取得文本框中的值了。