很多时候我们总是希望先提交页面,等到服务器返回新页面的时候,我们再执行部分javascript代码,比如以下代码:
<input type="submit' value="Apply" onclick="fn()">,
我们希望先执行submit功能,再执行fn()函数,这个时候,我们会发现总是先执行alert(),这个时候我们会想是不是时间问题,我们就设置了一个时间延迟函数来执行onclick="setTimeout('fn()',5000)";延时5000ms,遗憾的是,事情没有任何改观!后面我也是绞尽脑汁,才用到了如下解决办法,代码如下:
<input type="button" value="Apply" onclick="document.formName.submit(); fn()">
稍微解释一下,我们先把input元素的属性改写成button,然后在该button后面的onclick函数调
用当前form对象的submit()函数,这样就可以按我们想要的顺序执行了!
遗憾的是,上述代码在某些浏览器里面貌似不支持,如果还不行的话,可以使用以下代码片
段来执行刷新页面的功能:
最后的submit按钮代码:<input type="submit' value="Apply" onclick="TimeoutReload(10)">,
后面的参数10可以随意设置,TimeoutReload(timeout)函数及其相关函数如下图: