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 相关文章推荐
Apache2 httpd.conf 中文版
Nov 17 PHP
PHP 中检查或过滤IP地址的实现代码
Nov 27 PHP
php 保留字列表
Oct 04 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
php自动载入类用法实例分析
Jun 24 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
详解PHP文件的自动加载(autoloading)
Feb 04 PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 PHP
php操作mongodb封装类与用法实例
Sep 01 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 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分页集合包括使用方法
2013/10/21 PHP
PHP+MySQL插入操作实例
2015/01/21 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
Javascript基础教程之argument 详解
2015/01/18 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
vue.js事件处理器是什么
2017/03/20 Javascript
JavaScript数据类型的存储方法详解
2017/08/25 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
jquery根据name取得select选中的值实例(超简单)
2018/01/25 jQuery
JS设计模式之观察者模式实现实时改变页面中金额数的方法
2018/02/05 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
Python 错误和异常小结
2013/10/09 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
解决virtualenv -p python3 venv报错的问题
2021/02/05 Python
HTML5实现桌面通知 提示功能
2017/10/11 HTML / CSS
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
西安当代医院管理研究院笔试题
2015/12/11 面试题
银行见习期自我鉴定
2014/01/29 职场文书
期中考试后的反思
2014/02/08 职场文书
《花的勇气》教后反思
2014/02/12 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
辩论赛新闻稿
2015/07/17 职场文书
2016大学生暑期社会实践心得体会
2016/01/14 职场文书
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
python识别围棋定位棋盘位置
2021/07/26 Python