Laravel框架实现即点即改功能的方法分析


Posted in PHP onOctober 31, 2019

本文实例讲述了Laravel框架实现即点即改功能的方法。分享给大家供大家参考,具体如下:

有的时候我们不需要更改大量数据,只需要更改一个字段的时候,我们就用到了即点即改,以用户模块,修改用户名称为例,下图为我的展示模块
Laravel框架实现即点即改功能的方法分析
Laravel框架实现即点即改功能的方法分析
当我们点击用户名时,会出现一个修改框,那么这个修改框是怎么来的呢?
我们点击时,隐藏在这个td当中的修改框会出现,而展示时的用户名会隐藏起来,我们怎么利用代码实现?

<td onclick="saveuser({{$v->id}})">
    <span id="bbb{{$v->id}}">{{$v->username}}</span>
    <input type="text" value="{{$v->username}}" style="display:none" id="aaa{{$v->id}}"
     onblur="edituser({{$v->id}})">
  </td>

从上述代码中我们可以看到一个存放用户名的span标签,还有一个默认为隐藏的input框,用来存放用户名,接下来我们要做的就是:通过相应的点击事件,实现即点即改;在修改数据时,我们尽量要根据他的唯一字段id进行修改,避免出错:

首先,我在页面显示span标签当中起了一个id,名为 “bbb”+用户的id,在隐藏的input中id为 “aaa”+用户的id,在相应点击事件中存放id,方便ajax取用户的id值;

接下来就是通过ajax技术,传递相应id值,以及要修改的数据到控制器,进行相应的修改:

1)首先引入jquery文件

<script src="{{asset('Follow')}}/js/jquery.min.js"></script>

2)点击事件:当我们点击时,span标签内容设置为空值,input标签出现

function saveuser(id){
	    document.getElementById('aaa'+id).style.display='block';//显示input
	    document.getElementById('bbb'+id).innerHTML="";//span标签的值设置为空
  }

3)输入我们需要修改的数据,如下图:
Laravel框架实现即点即改功能的方法分析

4)要修改的数据写完之后,就到了最关键的时候,怎样进行修改?

通过上面,可以看到input有一个失去焦点事件,因此我在这个事件里进行ajax请求

function edituser(id){
   var username = document.getElementById('aaa'+id).value;//获取文本框的值
  $.ajax({
    type:'GET',//请求方式
    data:{'id':id,'username':username},//传递参数
    url:"{{url('edituser')}}",//地址
    success:function(e){//回调
      if(e==1){
        document.getElementById('aaa'+id).style.display = 'none';//如果修改成功,input隐藏
        document.getElementById('bbb'+id).innerHTML = username;//修改成功,将表里修改后的数据赋值给span标签
      }else{
        alert('修改失败');
        window.location.reload();
      }
    }
   
  })
 }

5)通过ajax传递的参数,进行数据查询和修改:
首先我们在控制器接收:

public function edituser(){

	  $arr = Input::get();//接收ajax传递的参数

	  $result = BlueShop::useredit($arr);//调用模型,并将接收到的 id 和要修改的数据赋给模型

	  if($result){
	    $status = 1;
    }else{
	    $status = 2;
    }
    return $status;//将结果返回给展示页面
  }

然后我们在模型进行我们的逻辑代码部分

//$arr数组 $arr['id'] 用户id $arr['username']要修改的用户名
public static function useredit($arr){

    $res = DB::table('jy_user')->where('id',$arr['id'])->update($arr);//通过id修改

    return $res;//返回结果
  }

6)此时我们可以看到,页面已经修改
Laravel框架实现即点即改功能的方法分析
而数据表中的数据也进行了更新
Laravel框架实现即点即改功能的方法分析

这就是一个简单的即点即改,希望对大家能有所帮助!!!

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
提升PHP执行速度全攻略
Oct 09 PHP
PHP中spl_autoload_register函数的用法总结
Nov 07 PHP
Smarty中的注释和截断功能介绍
Apr 09 PHP
PHP实现事件机制的方法
Jul 10 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
Aug 16 PHP
又十个超级有用的PHP代码片段
Sep 24 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
Dec 01 PHP
配置Nginx+PHP的正确思路与过程
May 10 PHP
Laravel实现表单提交
May 07 PHP
php实现socket推送技术的示例
Dec 20 PHP
PHP的mysqli_set_charset()函数讲解
Jan 23 PHP
用Laravel轻松处理千万级数据的方法实现
Dec 25 PHP
laravel 框架实现无限级分类的方法示例
Oct 31 #PHP
tp5框架的增删改查操作示例
Oct 31 #PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
Oct 30 #PHP
thinkPHP框架乐观锁和悲观锁实例分析
Oct 30 #PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 #PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 #PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
Oct 30 #PHP
You might like
在php MYSQL中插入当前时间
2008/04/06 PHP
php 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
浏览器常用高宽的jquery插件
2011/02/24 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
javascript实现动态模态绑定grid过程代码
2014/09/22 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
2016/11/26 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
Vue Socket.io源码解读
2018/02/07 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
python中pass语句用法实例分析
2015/04/30 Python
django中静态文件配置static的方法
2018/05/20 Python
Python中创建二维数组
2018/10/17 Python
关于python下cv.waitKey无响应的原因及解决方法
2019/01/10 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
python3爬取torrent种子链接实例
2020/01/16 Python
高山背包:High Sierra
2017/11/23 全球购物
类的返射机制中的包及核心类
2016/09/12 面试题
介绍一下你对SOA的认识
2016/04/24 面试题
《挑山工》的教学反思
2014/02/16 职场文书
公益广告宣传方案
2014/02/28 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
大学生简历自我评价2015
2015/03/03 职场文书