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 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
Oct 03 PHP
PHP基础学习之流程控制的实现分析
Apr 28 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
Mar 25 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
Jul 04 PHP
destoon出现验证码不显示时的紧急处理方法
Aug 22 PHP
10个php函数实用却不常见
Oct 13 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
PHP cURL获取微信公众号access_token的实例
Apr 28 PHP
PHP根据key删除数组中指定的元素
Feb 28 PHP
Yii框架实现对数据库的CURD操作示例
Sep 03 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
Sep 27 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 mcrypt可逆加密算法分析
2011/07/19 PHP
php连接mssql数据库的几种方法
2013/02/21 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
smarty自定义函数用法示例
2016/05/20 PHP
PHP链表操作简单示例
2016/10/15 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
详解javascript void(0)
2020/07/13 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
python设计模式大全
2016/06/27 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
在python中利用GDAL对tif文件进行读写的方法
2018/11/29 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
基于python实现雪花算法过程详解
2019/11/16 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
使用css3制作动感导航条示例
2014/01/26 HTML / CSS
HTML5新标签兼容——&gt; 的两种方法
2018/09/12 HTML / CSS
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
毕业生就业自荐书
2013/12/15 职场文书
抗震救灾标语
2014/06/26 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书
活动总结书怎么写
2015/05/11 职场文书
初中班长竞选稿
2015/11/20 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
Anaconda安装pytorch和paddle的方法步骤
2022/04/03 Python