在一个拥有富文本编辑框(tinymce)的form表单中,当提交数据后,希望弹出一个消息对话框后跳转到另外一个页面,我的做法:当提交完数据后向前台页面输出一段js代码,如:使用return string.Format("<script language=\"javascript\">
alert(\"{0}\");window.location.href=\"{1}\";</script>", msg, redirectUrl);
向页面弹出消息对话框的时候,在IE中会导致消息对话框弹出后,页面出现js错误(在FireFox,Chrome就不会有这样的错误),经多次测试发现原来是由于弹出消息对话框后跳转到其它页面时,导致的tinymce的js未加载完毕出现的js错误,所以要解决这个问题,就需要在页面元素加载完后再弹消息对话框。
那么如何实现页面元素加载完后再弹出消息对话框呢?
方法1:
return string.Format ("<scriptlanguage=\"javascript\">if(document.all){{
document.onreadystatechange=function(){{alert(\"{0}\");window.location.href=\"{1}\";}};}
else{{window.onload=function(){{alert(\"{0}\");window.location.hre=\"{1}\";}}}}</script>", msg, redirectUrl);
方法2:
如果页面上使用了jQuery的话,可以使用下面的做法:
return string.Format("<scriptlanguage=\"javascript\">$(window).load(function()
{{alert(\"{0}\");window.location.href=\"{1}\";}});</script>", msg, redirectUrl);
在这里你还有可能遇到string.Format()格式化的问题,查看相关问题。