在一个asp.net 3.5页面上,我有多个文本框,在用户通过表单时在TextChanged事件上触发异步回发。在用户完成表单后,按下“提交”按钮以提交包含JavaScript“确认”对话框的表单。只要用户已经通过所有字段,一切都很正常。但是,如果用户更改了其中一个文本框的值并在退出文本框之前单击了按钮,则“onClientClick”会触发,但如果指定了“confirm”,则页面不会回发:
然而,从页面中移除确认会导致回发:
按钮是一个
仅当用户更改了文本框并在单击按钮之前没有切换时才会出现此问题。切换离开文本框可以正常工作。我甚至放置了代码等待5秒钟才显示确认然后提交表单,但结果相同(除了必须等待5秒钟才能确认)。
有什么想法或者好的解决方法吗?谢谢您提前的帮助!
onClientClick = return confirm('Are you sure you want to submit?'); //Page Does Not Post
然而,从页面中移除确认会导致回发:
onClientClick = return true; //Page Posts
按钮是一个
<asp:PostBackTrigger/>
。文本框的<asp:AsyncPostBackTrigger/>
与按钮在同一个updatepanel中。我尝试将它们移动到另一个updatepanel中,结果相同。仅当用户更改了文本框并在单击按钮之前没有切换时才会出现此问题。切换离开文本框可以正常工作。我甚至放置了代码等待5秒钟才显示确认然后提交表单,但结果相同(除了必须等待5秒钟才能确认)。
var dt = new Date();
dt.setTime(dt.getTime() + 5000);
while (new Date().getTime() < dt.getTime());
return confirm('Are you sure you want to submit?');
有什么想法或者好的解决方法吗?谢谢您提前的帮助!