javascript - 即使手动将 readonly 属性设置为 false,文本框也会在回发时变为只读

标签 javascript c# asp.net

所以,在我当前的 ASP.net 应用程序中,我有一个奇怪的错误。我在现有页面中添加的文本框在回发后进入只读模式。当页面第一次加载时,文本框工作正常。但页面加载后,它保持启用状态并处于只读模式。

我检查了 IE 中的开发工具,文本框的 readonly 属性设置为 false,正如预期的那样。我什至可以通过页面加载期间调用的 js 函数设置其他属性,并且它们工作正常。只有readonly属性不起作用。

我无法找出发生这种情况的原因,所以我也无法解决它。

 <tr>  <td nowrap align="right"> <asp:Label ID="lblResTimeDescription" runat="server" EnableViewState="False" CssClass="Common">Response Time Comments</asp:Label>&nbsp;:&nbsp;</td>

文本框代码:

>  <asp:TextBox ID="txtResTimeDescription" CssClass="TextBox"
> MaxLength="200" TextMode="MultiLine" runat="server" Width="100%"
> Height="50px" ReadOnly="false"></asp:TextBox>

附注请告诉我,我可以在此处发布哪些代码。

编辑:在页面加载最后调用的 JS 函数。

function fnEnableComments(e) {
var strCompletion = document.getElementById("ddlCompletion").value;
if (strCompletion == "Y") {
    document.getElementById("txtResTimeDescription").disabled = false;
    document.getElementById("txtResTimeDescription").setAttribute("value", "zyx");
    document.getElementById("txtResTimeDescription").setAttribute("ReadOnly",false);
}
else {
    document.getElementById("txtResTimeDescription").disabled = true;
    document.getElementById("txtResTimeDescription").value = "";
}

}

该函数被正确调用,因为我可以看到值更改为 zyx。

编辑2:

从代码和js中删除了所有只读提示。还是同样的问题。此外,文本框已正确启用,在更改下拉列表时,可以正确设置值。我什至可以单击文本框来设置焦点,但我无法更改其中的值。

编辑3:

程序工作流程说明: 用户从列表页面中选择一条记录,该页面会加载有关该记录的信息。用户可以输入数据并保存。但用户不能在不提供注释的情况下将完成标志设置为"is"。在其他情况下,根本不需要注释。该文本框用于添加注释。通常,用户更新所有数据并保存信息。保存信息后,页面刷新,此时用户更改完成标志。因此,在下拉列表更改和页面加载时,我检查完成标志并启用和禁用评论文本框。

就逻辑而言,这一切都很好。唯一的问题是,当用户第一次保存数据并且页面重新加载时,即使用户更改完成标志,文本框仍保持只读状态。如果用户再次刷新页面,则代码可以正常工作。基本上,这个错误会导致用户在每次保存后手动刷新页面,从而违背了从代码中刷新的目的。

最佳答案

尝试在第一次确定您需要的内容之前将其放置在后面的代码中

txtResTimeDescription.Attributes.Remove("readonly");

如果您在删除此文本框时设置只读属性,则使用此属性

关于javascript - 即使手动将 readonly 属性设置为 false,文本框也会在回发时变为只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27872521/

相关文章:

javascript - 将产品添加到购物车时,ajax 购物车出错,prestashop

javascript - 如何获取点击的条形图工具提示数据?

c# - 当我组合单击按钮和异步联系人调用时出现无限循环

c# - 使用 LINQ 遍历列表并设置 founded 变量

css - 如何更改 asp.net DropDownList 的字体大小

javascript - 谷歌分析事件跟踪代码

javascript - Angular 将文本下载为文件,在记事本中不显示换行符

c# - 获取保存的文件路径,无需任何回发

.net - requirePermission 属性的用途 (web.config)

c# - 如何获取页眉的索引