PHP+Mysql+jQuery实现发布微博程序 jQuery篇


Posted in PHP onOctober 08, 2011

该应用实现了即时统计输入字数,并且通过ajax与后台交互,将输入内容插入到话题列表中。我将整个流程分为两部分,本文讲解第一部分jquery实现前端交互操作。

首先查看示例:DEMO

PHP+Mysql+jQuery实现发布微博程序 jQuery篇
XHTML

<form id="myform" action="" method="post"> 
<h3><span class="counter">140</span>说说你正在做什么...</h3> 
<textarea name="saytxt" id="saytxt" class="input" rows="2" cols="40"></textarea> 
<p> 
<input type="image" src="images/btn.gif" class="sub_btn" alt="发布" /> 
<span id="msg"></span> 
</p> 
</form> 
<div class="clear"></div> 
<div id="saywrap"> 
<div class="saylist"> 
<a href="#"><img src="images/user.gif" alt="" /></a> 
<div class="saytxt"> 
<p><strong><a href="#">Demo</a></strong>发布的内容...</p> 
<div class="date"></div> 
</div> 
<div class="clear"></div> 
</div> 
</div>

XHTML是一个表单,里面有输入框textarea,发布按钮,还有一个统计输入字数的span#counter,和信息提示span#msg,在没有输入的情况下就提交则会提示用户要求输入内容。
CSS
h3{height:32px; line-height:32px; font-size:18px} 
h3 span{float:right; font-size:32px; font-family:Georgia,serif; color:#ccc; overflow:hidden} 
.input{width:594px; height:58px; margin:5px 0 10px 0; padding:4px 2px; 
border:1px solid #aaa; font-size:12px; line-height:18px; overflow:hidden} 
.sub_btn{float:right; width:94px; height:28px;} 
#msg{color:#f30} 
.clear{clear:both} 
.saylist{margin:8px auto; padding:4px 0; border-bottom:1px dotted #d3d3d3} 
.saylist img{float:left; width:50px; margin:4px} 
.saytxt{float:right; width:530px; overflow:hidden} 
.saytxt p{line-height:18px} 
.saytxt p strong{margin-right:6px} 
.date{color:#999}

jQuery
先引入jquery库和global.js文件:
<script type="text/javascript" src="../Script/jquery.js"></script> 
<script type="text/javascript" src="./Script/global.js"></script>

global.js文件:
global.js要做的事有:
1、用户输入、鼠标离开输入框时,统计输入的字符数,并根据输入字数的不同而输出不同的样式(字体颜色)显示在页面上。
2、处理提交数据:当点击“发布”按钮时,显示等待图片,通过ajax想后台提交输入的数据,等待后台处理,并将处理结果输出给前端页面。
具体代码如下:
function recount(){ 
var maxlen=140; 
var current = maxlen-$('#saytxt').val().length; 
$('.counter').html(current); 
if(current<1 || current>maxlen){ 
$('.counter').css('color','#D40D12'); 
$('input.sub_btn').attr('disabled','disabled'); 
} 
else 
$('input.sub_btn').removeAttr('disabled'); 
if(current<10) 
$('.counter').css('color','#D40D12'); 
else if(current<20) 
$('.counter').css('color','#5C0002'); 
else 
$('.counter').css('color','#cccccc'); 
}

函数recount()完成了输入字符的统计,并根据输入的字符数,显示不同的字体颜色。
$(function(){ 
$('#saytxt').bind("blur focus keydown keypress keyup", function(){ 
recount(); 
}); 
$("#myform").submit(function(){ 
var saytxt = $("#saytxt").val(); 
if(saytxt==""){ 
$("#msg").show().html("你总得说点什么吧.").fadeOut(2000);; 
return false; 
} 
$('.counter').html('<img style="padding:8px" src="images/load.gif" alt="正在处理..." />'); 
$.ajax({ 
type: "POST", 
url: "submit.php", 
data:"saytxt="+saytxt, 
dataType: "html", 
success: function(msg){ 
if(parseInt(msg)!=0){ 
$('#saywrap').prepend(msg); 
$('#saytxt').val(''); 
recount(); 
}else{ 
$("#msg").show().html("系统错误.").fadeOut(2000); 
return false 
} 
} 
}); 
return false; 
}); 
});

提交数据给后台后,由submit.php进行处理,关于后台的处理程序,我在下一篇文章会重点讲解,敬请关注。
PHP 相关文章推荐
Discuz 模板语句分析及知识技巧
Aug 21 PHP
PHP校验ISBN码的函数代码
Jan 17 PHP
PHP源代码数组统计count分析
Aug 02 PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
PHP解压ZIP文件到指定文件夹的方法
Nov 17 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
Apr 18 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
phpQuery采集网页实现代码实例
Apr 02 PHP
php实现用户在线时间统计详解
Oct 08 #PHP
php 文件缓存函数
Oct 08 #PHP
php数字转汉字代码(算法)
Oct 08 #PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 #PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 #PHP
PHP下判断网址是否有效的代码
Oct 08 #PHP
Admin generator, filters and I18n
Oct 06 #PHP
You might like
Laravel 错误提示本地化的实现
2019/10/22 PHP
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
微信小程序 MD5的方法详解及实例代码
2017/03/10 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
Vue 页面跳转不用router-link的实现代码
2018/04/12 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
微信小程序实现聊天室
2020/08/21 Javascript
jQuery实现移动端扭蛋机抽奖
2020/11/08 jQuery
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
python实现简易动态时钟
2018/11/19 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
旅游管理专业学生求职信
2013/09/28 职场文书
教师职称自我鉴定
2014/02/12 职场文书
保密工作实施方案
2014/02/24 职场文书
《分一分》教学反思
2014/04/13 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
校园活动策划方案
2014/06/13 职场文书
感恩老师演讲稿400字
2014/08/28 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
公司管理制度范本
2015/08/03 职场文书