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 相关文章推荐
URL Rewrite的设置方法
Jan 02 PHP
PHP 基本语法格式
Dec 15 PHP
PHP操作MongoDB时的整数问题及对策说明
May 02 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
Mar 25 PHP
php实现比较全的数据库操作类
Jun 18 PHP
thinkphp命名空间用法实例详解
Dec 30 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
Mar 21 PHP
ThinkPHP下表单令牌错误与解决方法分析
May 20 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
Jun 05 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 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
建站常用13种PHP开源CMS比较
2009/08/23 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
jQuery实现的简单前端搜索功能示例
2017/10/28 jQuery
vue watch关于对象内的属性监听
2019/04/22 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
vue实现配置全局访问路径头(axios)
2019/11/01 Javascript
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
进一步探究Python中的正则表达式
2015/04/28 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
python算的上脚本语言吗
2020/06/22 Python
Django日志及中间件模块应用案例
2020/09/10 Python
基于python实现复制文件并重命名
2020/09/16 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
css3 transform属性详解
2014/09/30 HTML / CSS
CSS3 边框效果
2019/11/04 HTML / CSS
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
个人简历自我鉴定
2013/10/11 职场文书
校园广播稿500字
2014/02/04 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
高中生毕业评语
2014/12/30 职场文书
飞越疯人院观后感
2015/06/09 职场文书
小学运动会前导词
2015/07/20 职场文书
React配置子路由的实现
2021/06/03 Javascript
Golang 并发编程 SingleFlight模式
2022/04/26 Golang
如何利用python实现Simhash算法
2022/06/28 Python