Discuz Uchome ajaxpost小技巧

yipeiwu_com6年前PHP代码库
比如默认submit按钮这样操作:onclick="ajaxpost('formid')";之类的,我们可以先这样。。
onclick="$('__formid').innerText='';ajaxpost('formid');checkPostResult();";
含义其实很简单,先把ajaxpost提示信息所在的div内容清空。然后提交。最后,根据返回值来判断。。
复制代码 代码如下:

function checkPostResult(){
var cid = setInterval(function(){
if( $('__formid').innerText == 'success'){
alert('提交成功');
location.href='xxxxx.php';
clearInterval(cid);
}
},1000);
}

这个处理也很简单,为什么是用setInterval和clearInterval,主要是由于ajax是异步操作,如果不用setInterval方法 ,那么在ajaxpost结束的时候,其实提示信息还没有append到提示信息所在的ID里,所以用setInterval方法先延迟然后循环处理最后再结束提示。。。

clearInterval用的不太对,但短时间内想不到更好的。先这样临时解决喽。

相关文章

浅析PHP Socket技术

phpsocketSocket位于TCP/IP协议的传输控制协议,提供客户-服务器模式的异步通信,即客户向服务器发出服务请求,服务器接收到请求后,提供相应的反馈或服务!我练习了一个最基本...

PHP实现的消息实时推送功能【基于反ajax推送】

本文实例讲述了PHP实现的消息实时推送功能。分享给大家供大家参考,具体如下: 入口文件index.html <!DOCTYPE HTML> <html> &l...

优化PHP程序的方法小结

1. If a method c++an be static, declare it static. Speed improvement is by a factor of 4. 如果一...

模板引擎正则表达式调试小技巧

基于正则表达式替换的模板引擎很容易遇上正则表达式最大回溯/递归的限制。 惰性匹配并不可怕,正常情况下模板并不会不够用,往往不会超出限制,discuz的模板引擎就大量使用了。但是因此而不去...

PHP获取数组最大值下标的方法

本文实例讲述了PHP获取数组最大值下标的方法。分享给大家供大家参考。具体实现方法如下: <?php $hots = array('8213'=> 0,'8212'...