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 静态变量的初始化
Nov 15 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 PHP
七款最流行的PHP本地服务器分享
Feb 19 PHP
Mysql中分页查询的两个解决方法比较
May 02 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 PHP
php树型类实例
Dec 05 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
Apr 15 PHP
php析构函数的简单使用说明
Aug 24 PHP
Yii使用migrate命令执行sql语句的方法
Mar 15 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
Apr 10 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
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
jQuery 使用手册(七)
2009/09/23 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
apply和call方法定义及apply和call方法的区别
2015/11/15 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
2019/12/06 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
在Django的模型中添加自定义方法的示例
2015/07/21 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
TensorFlow数据输入的方法示例
2018/06/19 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
查看keras的默认backend实现方式
2020/06/19 Python
美国专注于健康商品的网站:eVitamins
2017/01/23 全球购物
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
无工作经验者个人求职信范文
2013/12/22 职场文书
幼儿园元旦亲子活动方案
2014/02/17 职场文书
预备党员对照检查材料思想汇报
2014/09/24 职场文书
党支部2014年度工作总结
2014/12/04 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
趣味运动会加油词
2015/07/18 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
通过Python把学姐照片做成拼图游戏
2022/02/15 Python