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 相关文章推荐
php5 and xml示例
Nov 22 PHP
php产生随机数的两种方法实例代码 输出随机IP
Apr 08 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
php生成过去100年下拉列表的方法
Jul 20 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
深入php内核之php in array
Nov 10 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
Zend Framework教程之模型Model用法简单实例
Mar 04 PHP
php抛出异常与捕捉特定类型的异常详解
Oct 26 PHP
PHP之将POST数据转化为字符串的实现代码
Nov 03 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
Feb 18 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 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
打造计数器DIY三步曲(中)
2006/10/09 PHP
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
php数组键值用法实例分析
2015/02/27 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
js本地图片预览实现代码
2016/10/09 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
jQuery tip提示插件(实例分享)
2017/04/28 jQuery
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
Python字符串格式化的方法(两种)
2017/09/19 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
python实现批量图片格式转换
2020/06/16 Python
python 自动重连wifi windows的方法
2018/12/18 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
端口镜像是怎么实现的
2014/03/25 面试题
小学家长评语大全
2014/04/16 职场文书
十佳标兵事迹材料
2014/08/18 职场文书
赔偿协议书范本
2014/09/12 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
综合办公室主任岗位职责
2015/04/01 职场文书
海洋天堂观后感
2015/06/05 职场文书
芙蓉镇观后感
2015/06/10 职场文书
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python
如何利用python创作字符画
2022/06/25 Python