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类
Nov 27 PHP
PHP has encountered an Access Violation 错误的解决方法
Jan 17 PHP
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
May 06 PHP
php中var_export与var_dump的区别分析
Aug 21 PHP
Sorting Array Values in PHP(数组排序)
Sep 15 PHP
PHP遍历数组的几种方法
Mar 22 PHP
CURL状态码列表(详细)
Jun 27 PHP
PHP图片处理之图片背景、画布操作
Nov 19 PHP
php中get_object_vars()方法用法实例
Feb 08 PHP
学习php设计模式 php实现享元模式(flyweight)
Dec 07 PHP
PHP类型约束用法示例
Sep 28 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 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
制作美丽的拉花
2021/03/03 冲泡冲煮
特转载一高手总结PHP学习资源和链接.
2006/12/05 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
UserData用法总结 lanyu出品
2010/07/01 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
jQuery提交多个表单的小例子
2013/06/30 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
javascript中 try catch用法
2015/08/16 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
浅谈jquery上下滑动的注意事项
2016/10/13 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
js实现右键菜单功能
2016/11/28 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
vue-cli3+typescript新建一个项目的思路分析
2019/08/06 Javascript
微信小程序3D轮播实现代码
2019/09/19 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
如何将python中的List转化成dictionary
2016/08/15 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
python基于itchat模块实现微信防撤回
2019/04/29 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
JAVA中运算符的分类及举例
2015/09/12 面试题