我在按钮上有一个 javascript,在单击它后将文本转换为“等待...”。问题是在 Mozilla 上它在点击后执行了两次。这是代码:
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("if (typeof(Page_ClientValidate) == 'function') { ");
sb.Append("if (Page_ClientValidate() == false) { return false; }} ");
sb.Append("this.value = 'Please wait...';");
sb.Append("this.disabled = true;");
sb.Append(this.Page.ClientScript.GetPostBackEventReference(this.btnSave, ""));
sb.Append(";");
this.btnSave.Attributes.Add("onclick", sb.ToString());
html是:
<div class="btns-action">
<input type="submit" value="Submit" id="btnSave" runat="server" style="margin-left: 112px;"
onserverclick="btnSave_Click" class="ui-button ui-widget ui-state-default ui-corner-all" />
<a href="Login.aspx">Go Back <span class="arr">»</span></a>
</div>
该代码还在禁用按钮之前检查页面是否有效,以便如果它无效,用户可以再次单击它。这就是我这样做的原因。有没有办法解决这个问题?谢谢
稍后编辑:解决它的一件事是我取下了 UpdatePanel。整个页面都在更新面板中。但这不应该是解决这个问题的方法。