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 相关文章推荐
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
php更新mysql后获取影响的行数发生异常解决方法
Mar 28 PHP
计算php页面运行时间的函数介绍
Jul 01 PHP
php实现aes加密类分享
Feb 16 PHP
PHP常用编译参数中文说明
Sep 27 PHP
php自定义错误处理用法实例
Mar 20 PHP
php实现的IMEI限制的短信验证码发送类
May 05 PHP
php UNIX时间戳用法详解
Feb 16 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 PHP
PHP封装curl的调用接口及常用函数详解
May 31 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
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
Javascript之图片的延迟加载的实例详解
2017/07/24 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
JS定义函数的几种常用方法小结
2019/05/23 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
python清除字符串里非数字字符的方法
2015/07/02 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
python SVM 线性分类模型的实现
2019/07/19 Python
Django RBAC权限管理设计过程详解
2019/08/06 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
python实现处理mysql结果输出方式
2020/04/09 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
小学体育教学反思
2014/01/31 职场文书
2014工程部年度工作总结
2014/12/17 职场文书
2014年党总支工作总结
2014/12/18 职场文书
新员工入职欢迎词
2015/01/23 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
2016情人节宣传语
2015/07/14 职场文书
老人院义工活动感想
2015/08/07 职场文书
2015年秋学期师德师风建设工作总结
2015/10/23 职场文书