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 相关文章推荐
UCenter Home二次开发指南
May 28 PHP
PHP 时间日期操作实战
Aug 26 PHP
PHP开发微信支付的代码分享
May 25 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
php+jQuery.uploadify实现文件上传教程
Dec 26 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
Win7下手动安装apache2.2、php5.4笔记
Apr 03 PHP
php筛选不存在的图片资源
Apr 28 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
Oct 21 PHP
使用PHP similar text计算两个字符串相似度
Nov 06 PHP
php 使用html5实现多文件上传实例
Oct 24 PHP
PHP实现倒计时功能
Nov 16 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
php实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
PHP的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
Laravel框架实现定时发布任务的方法
2018/08/16 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
JS解析XML的实现代码
2009/11/12 Javascript
基于jQuery的可以控制左右滚动及自动滚动效果的代码
2010/07/25 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
nodejs批量修改文件编码格式
2015/01/22 NodeJs
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
JavaScript继承学习笔记【新手必看】
2016/05/10 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
vue使用Google地图的实现示例代码
2018/12/19 Javascript
你准备好迎接vue3.0了吗
2020/04/28 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
Python切片用法实例教程
2014/09/08 Python
python的else子句使用指南
2016/02/27 Python
python实现周期方波信号频谱图
2018/07/21 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
基于HTML5 audio元素播放声音jQuery小插件
2011/05/11 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
通息工程毕业生自荐信
2013/10/16 职场文书
社区端午节活动方案
2014/01/28 职场文书
六个一活动实施方案
2014/03/21 职场文书
党支部活动策划方案
2014/08/18 职场文书
2014年民政工作总结
2014/11/26 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL
MySQL空间数据存储及函数
2021/09/25 MySQL