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 相关文章推荐
分页显示Oracle数据库记录的类之二
Oct 09 PHP
通过对服务器端特性的配置加强php的安全
Oct 09 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
Jul 31 PHP
深入for,while,foreach遍历时间比较的详解
Jun 08 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
php使用GD创建保持宽高比缩略图的方法
Apr 17 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
Apr 04 PHP
基于PHP微信红包的算法探讨
Jul 21 PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 PHP
PHP与SQL语句写一句话木马总结
Oct 11 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 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
我的论坛源代码(六)
2006/10/09 PHP
利用discuz自带通行证整合dedecms的方法以及文件下载
2007/03/06 PHP
php中长文章分页显示实现代码
2012/09/29 PHP
php抽象类用法实例分析
2015/07/07 PHP
php parse_str() 函数的定义和用法
2016/05/23 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
php中上传文件的的解决方案
2018/09/25 PHP
通过jquery的$.getJSON做一个跨域ajax请求试验
2011/05/03 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
在js文件中写el表达式取不到值的原因及解决方法
2013/12/23 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
JS数组合并push与concat区别分析
2015/12/17 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
Javascript之String对象详解
2016/06/08 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
解析如何利用iframe标签以及js制作时钟
2016/12/08 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
深入理解JavaScript和TypeScript中的class
2018/04/22 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
2019/08/27 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
vue实现短信验证码输入框
2020/04/17 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
python optparse模块使用实例
2015/04/09 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
python编写俄罗斯方块
2020/03/13 Python
瑞典度假品牌:OAS
2019/05/28 全球购物
求职简历的自我评价
2014/01/31 职场文书
汉语言文学职业规划
2014/02/14 职场文书
销售开票员岗位职责
2015/04/15 职场文书
超市员工辞职信范文
2015/05/12 职场文书
预备党员党支部意见
2015/06/02 职场文书
oracle数据库去除重复数据
2022/05/20 Oracle