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初学者头痛的十四个问题
Jul 12 PHP
PHP的开合式多级菜单程序
Oct 09 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
Oct 25 PHP
PHP字符串word末字符实现大小写互换的方法
Nov 10 PHP
php rsa加密解密使用详解
Jan 14 PHP
php检测apache mod_rewrite模块是否安装的方法
Mar 14 PHP
php实现RSA加密类实例
Mar 26 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
Sep 02 PHP
PHP array_shift()用法实例分析
Jan 07 PHP
laravel 数据验证规则详解
Oct 23 PHP
php实现记事本案例
Oct 20 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
第十一节--重载
2006/11/16 PHP
PHP 源代码压缩小工具
2009/12/22 PHP
PHP中的表达式简述
2016/05/29 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
JavaScript单元测试ABC
2012/04/12 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
2014/01/09 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
2015/07/29 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
2016/11/22 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
python Django框架实现自定义表单提交
2016/03/25 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
python中requests和https使用简单示例
2018/01/18 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
最受欢迎的自我评价
2013/12/22 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
绿色学校实施方案
2014/03/31 职场文书
《画家乡》教学反思
2014/04/22 职场文书
简单的辞职信模板
2015/05/12 职场文书
家庭经济困难证明
2015/06/23 职场文书
Python实现照片卡通化
2021/12/06 Python