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 相关文章推荐
自动跳转中英文页面
Oct 09 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
Yii调试SQL的常用方法
Jul 09 PHP
php 类自动载入的方法
Jun 03 PHP
PHP实现合并discuz用户
Aug 05 PHP
php 问卷调查结果统计
Oct 08 PHP
PHP错误处理函数
Apr 03 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
PHP中的函数声明与使用详解
May 27 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
关于laravel框架中的常用目录路径函数
Oct 23 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
Aug 24 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 setcookie() cannot modify header information 的解决方法
2009/01/09 PHP
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
PHP实现货币换算的方法
2014/11/29 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
windows环境下使用Composer安装ThinkPHP5
2018/05/18 PHP
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
Jquery中删除元素的实现代码
2011/12/29 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
利用JS实现数字增长
2016/07/28 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
[04:50]DOTA2亚洲邀请赛小组赛第四日 TOP10精彩集锦
2015/02/02 DOTA
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python中关于字符串对象的一些基础知识
2015/04/08 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
儿童编程python入门
2018/05/08 Python
python实现淘宝秒杀脚本
2020/06/23 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
python实现mask矩阵示例(根据列表所给元素)
2020/07/30 Python
python实现画图工具
2020/08/27 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
师德演讲稿范文
2014/05/06 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
教师业务学习材料
2014/12/16 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
Pytest之测试命名规则的使用
2021/04/16 Python
MySQL 覆盖索引的优点
2021/05/19 MySQL
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
redis 存储对象的方法对比分析
2021/08/02 Redis