我有一个文件上载,在按钮点击时丢失了它的内容。我有一个确认按钮来冻结用户进行任何进一步更改的页面。更改完成后,按钮应从Apply to Submit重命名。但在此过渡期间(Autopostback),fileupload会丢失其内容。
为了避免这种自动回复,我试图通过冻结文本框和其他控件来解决这个问题,但是按钮名称没有改变。
if (document.getElementById('<%=Submit.ClientID%>').value == "Apply") {
....
document.getElementById('<%=Remarks.ClientID%>').disabled = false;
document.getElementById('<%=Submit.ClientID%>').value == "Submit";
return false;
}
return true;
我也尝试使用下面的代码片段,但dint工作。在这两种情况下,文本框都被禁用,但按钮名称dint更改。
if (document.getElementById('<%=Submit.ClientID%>').value == "Apply") {
....
document.getElementById('<%=Remarks.ClientID%>').disabled = false;
document.getElementById('<%=Submit.ClientID%>').innerHTML == "Submit";
return false;
}
return true;
已经引用了一些网站,但大多数网站建议使用value或innerHTML。不知道为什么它在这里起作用。我还缺少什么?
请建议如何解决这个问题。
答案 0 :(得分:1)
如果您不必将==
只放一个并且想要更改该值,那么它就不是。
更改
document.getElementById('<%=Submit.ClientID%>').innerHTML == "Submit";
到
document.getElementById('<%=Submit.ClientID%>').value = "Submit";
答案 1 :(得分:0)
最简单的解决方案是确保在按钮定义后或文件末尾加载JavaScript代码。
这是正确的形式:
<button id="test"></button>
<script>
var b = document.getElementById("test");
b.innerHTML = "test" ;
</script>
不是这个:
<script>
var b = document.getElementById("test");
b.innerHTML = "test" ;
</script>
<button id="test"></button>
你也可以使用jQuery:
<button id="test"></button>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js"></script>
<script>
$("#test").text("test");
</script>