提交<textarea id="contentbox" class="input_text headtextarea" onkeydown="javascript:return ctrlEnter_st(event);"></textarea>中的内容
按钮<input type="button" id="sendMM" class="sendbutton" onclick="sendMM()" value="发送广播"/>
下边是sendMM()
function sendMM(){ $("#sendMM").click(function(){ $.ajax({ type:"POST", url:"pub.php", data:"content="+$("#contentbox").val(), cache:false, timeout:1000, success:function(msg){ if(msg==1){ alert("信息发送成功!"); }else{ alert("发送失败!请重试!"); } } }); }); }
下边是pub.php
<?php require_once('../lib/auto_load.php'); if(!defined('WB_INC')){ exit('request error!'); } require_once('../lib/islogin.php'); $user_name=$_SESSION['user_name']; $user_id=$_SESSION['user_id']; @$content=$_POST['content']; $posttime=date("Y-m-d H:i:s",time()); $sql="insert into wb_content(user_id,content_body,posttime) values('$user_id','$content','$posttime')"; $result=$obj->exec($sql); if($result){ $num=1; }else{ $num=0; } echo $num; ?>
第一次点按钮,没有响应,点第二次时候alert两次“发送成功”,点第三次,alert三次,依次累加,数据库数据也插入这么多次
请达人相助,错在哪里了,也尝试定义了全局变量控制按钮,但是还是无效
把 onclick="sendMM()" 这个代码干掉!
######第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句.
第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次.
以此类推...
######把 onclick="sendMM()" 这个代码干掉!
已解决,感谢红薯老大
刚学jQuery,犯低级错误了,但是为什么它会累加次数呢,呵呵
######第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句.
第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次.
以此类推...
点一次响应两次可以理解,但是为什么会一直累加呢
######多次点击还有错误
[12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms]
######第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句.
第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次.
以此类推...
点一次响应两次可以理解,但是为什么会一直累加呢
累加是因为$("#sendMM").click(function(){});
.click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。
所以就累加啦~
######第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句.
第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次.
以此类推...
点一次响应两次可以理解,但是为什么会一直累加呢
累加是因为$("#sendMM").click(function(){});
.click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。
所以就累加啦~
恩,谢谢,修改后多次点击有时候会提示
[12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms]
有时候却正常
######第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句.
第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次.
以此类推...
点一次响应两次可以理解,但是为什么会一直累加呢
累加是因为$("#sendMM").click(function(){});
.click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。
所以就累加啦~
恩,谢谢,修改后多次点击有时候会提示
[12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms]
有时候却正常
没看懂。php错误码?我不会php。
######第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句.
第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次.
以此类推...
点一次响应两次可以理解,但是为什么会一直累加呢
累加是因为$("#sendMM").click(function(){});
.click()这个函数,是给$("#sendMM")绑定一个方法,这个方法的内容就是.click()的参数,每点一次,增加绑定一个会弹窗口的函数。
所以就累加啦~
恩,谢谢,修改后多次点击有时候会提示
[12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms]
有时候却正常
没看懂。php错误码?我不会php。
有时候点击会没响应,刷新后就能发送了,在FIREFOX的WEB控制台发现这个错误
[12:09:04.375] POST http://localhost/weibo/user/pub.php [undefined 996ms]
应该是$.ajax里边哪里设置不对吧
######已经解决了,是$.ajax里边的timeout要设置大一点,数据较大时,处理时间可能稍长,超出timeout的设置就中断了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。