【发布时间】:2021-01-18 15:59:15
【问题描述】:
在 ASP.NET 表单中有两个文本框控件。一个控件设置今天的日期,而另一个控件最初禁用。基于日期启用控件(禁用属性)。如果日期是当前日期,则禁用文本框,否则启用控件。效果很好。
现在日期不是今天,并且启用了文本框。但是当单击按钮时,表单被回发并且文本框再次被禁用。我没有在javascript和代码后面的任何其他地方设置启用/禁用设置。我不确定为什么会这样。
if (condition)
{
$('#txt').prop('disabled', true); }
else
{
$('#txt').prop('disabled', false);
}
如果有人遇到此类问题以及任何可用的解决方案,请帮助我解决此问题。
【问题讨论】:
-
disabled属性不会在回发中持久化/重新创建。您需要重新应用(或直接在 HTML 中重新生成) - 最简单的方法是将您的if (condition)移动到它自己的函数中,并在更改时调用它(就像我现在假设的那样)以及在 doc.ready 上调用它:@ 987654324@(但在一个单独的函数中,所以它不是“DRY”) -
@freedomn-m 是的,你是对的。发布此评论作为答案。
标签: javascript c# jquery asp.net