PRE编辑:事实证明,这不是关于按钮的残疾,而是在保存后做出其他一些操作。我调试了该页面,发现在对保存的表单进行更改后,页面会丢失(document).ready
部分中的javascript功能。我已经添加了解决方案作为答案。JavaScript设置禁用按钮的属性
我有一个入口页面,有两个按钮保存和批准。机制是这样的,你可以填写表格并保存,然后批准。您也可以通过刷新页面或从保存的页面列表中找到保存的页面。
如果表单未保存,则批准按钮将被禁用。我保存后从代码中启用它。批准按钮还有一个确认按钮扩展程序,它从javascript中接收确认文本。我加载它在(document).ready
和它的代码是:
$(document).ready(function() {
$("#ASPxSplitter1_ContentPlaceHolder1_uctActivityEntry1_tbActivity_tbHistory_btnApproveActivity_btnApprove").click(function() {
$("#ASPxSplitter1_ContentPlaceHolder1_uctActivityEntry1_tbActivity_tbHistory_btnApproveActivity_lblMessage").text(GetConfirmTextForApprove());
});
});
,其中GetConfirmTextForApproval()
使得一些计算和返回确认文本。
现在,我的问题是,当您打开窗体时禁用按钮,上面的代码不会在第一次加载页面时呈现。这导致的问题是,当我开始填写表单并保存它时,然后批准它,我没有得到任何确认文本,因为它不运行该函数。但刷新页面后,或从另一页转到保存的表单页面后,我会得到正确的确认文本。
那么,我该如何解决这个问题呢?即使在首页加载时禁用了按钮,我如何获得正确的确认文本?
注意:我必须补充说,保存后,页面的网址会发生变化。查询字符串被添加。这也可能导致问题。
... **哇这些ID名称很大。有没有考虑过使用类? – Doorknob
上面的代码不会在第一页加载时呈现......所以使代码呈现 – lavrik
@ Doorknob这是因为使用了这么多的用户控件。按钮和页面是用户控件。 –