我有这个场景
具有AutoPostBack = true的TextBox和用于管理文本更改的服务器端代码
带服务器端设置确认的按钮和要管理的代码。 btnSend.Attributes.Add(“onClick”,“return confirm('确认消息')”); ....
一切都在UpdatePanel内部
当用户在TextBox上书写时,如果没有离开文本框焦点,单击按钮,出现确认,并在inputTextAnswer_TextChanged后面引发并执行。然后页面处理了PostBack,因此如果用户在确认时单击“确定”,则不执行任何操作。用户需要再次单击才能真正执行按钮代码。
有没有办法运行inputTextAnswer_TextChanged代码(应首先执行),然后是按钮代码。重要提示:并非总是应该一个接一个地执行,只需用户填写文本框字段然后单击按钮
答案 0 :(得分:1)
好的,如果someoane有同样的问题,我的解决方案。而不是保留与返回按钮相关联的确认,而只是通过javascript手动进行回发。然后执行文本框更改事件,当用户单击“确定”时,我们强制回发并执行按钮代码。
服务器端的这段代码
btnSend.Attributes.Add("onClick", "confirmSend();");
这是关于aspx的
<script>
function confirmSend() {
var agree = confirm('confirm message');
if (agree) {
__doPostBack('btnSend', '');
}
}
</script>