搜索
系统检测到您的用户名不符合规范:

更新用户信息,用ajax的blur获取手机已存在提示信息时没修改也提示已存在

浏览:728 发布日期:2015年12月24日 分类:技术分享
用以下代码验证手机号的唯一性,没有问题。(当然前提是在UserModel.class.php中写好验证规则,并在UserController.class.php中写好checkname函数)
$('input[name="phone"]').blur(function(){
var phone=$(this).val();
$.post('__URL__/checkname',{'phone':phone},function(data){
if(data==0){
error['phone']=0;
$('#mess4').html('手机号符合规则');
}else{
error['phone']=1;
$('#mess4').html(data); }
});
});

问题来了,添加用户信息时没有问题,但是在修改用户信息时,当你不修改手机号,当光标焦点离开时也会提示手机号已存在,怎么办呢?

其实很简单,只要作如下修改即可:
$.post('__URL__/checkname',{'phone':phone},function(data){
改为
$.post('__URL__/checkname',{'phone':phone,'id':id},function(data){
就行了。

原因是第一句代码中post并没有传递id参数,所以系统会认为这是新增数据,所以会进行验证,导致提示手机号存在。

修改后的代码传递了id参数,根据thinkphp现有的功能(自动验证时通过获取了id主键,判断出这是修改信息,系统对未修改的字段信息不会进行验证),实现不修改手机号时不会进行自动验证。
同理,邮箱和用户名也可以用这种方法。
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
gbdyz
积分:255 等级:LV1
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /