Laravel框架實現(xiàn)即點即改功能的方法分析
本文實例講述了Laravel框架實現(xiàn)即點即改功能的方法。分享給大家供大家參考,具體如下:
有的時候我們不需要更改大量數(shù)據(jù),只需要更改一個字段的時候,我們就用到了即點即改,以用戶模塊,修改用戶名稱為例,下圖為我的展示模塊
當我們點擊用戶名時,會出現(xiàn)一個修改框,那么這個修改框是怎么來的呢?
我們點擊時,隱藏在這個td當中的修改框會出現(xiàn),而展示時的用戶名會隱藏起來,我們怎么利用代碼實現(xiàn)?
<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框,用來存放用戶名,接下來我們要做的就是:通過相應的點擊事件,實現(xiàn)即點即改;在修改數(shù)據(jù)時,我們盡量要根據(jù)他的唯一字段id進行修改,避免出錯:
首先,我在頁面顯示span標簽當中起了一個id,名為 “bbb”+用戶的id,在隱藏的input中id為 “aaa”+用戶的id,在相應點擊事件中存放id,方便ajax取用戶的id值;
接下來就是通過ajax技術(shù),傳遞相應id值,以及要修改的數(shù)據(jù)到控制器,進行相應的修改:
1)首先引入jquery文件
<script src="{{asset('Follow')}}/js/jquery.min.js"></script>
2)點擊事件:當我們點擊時,span標簽內(nèi)容設置為空值,input標簽出現(xiàn)
function saveuser(id){ document.getElementById('aaa'+id).style.display='block';//顯示input document.getElementById('bbb'+id).innerHTML="";//span標簽的值設置為空 }
3)輸入我們需要修改的數(shù)據(jù),如下圖:
4)要修改的數(shù)據(jù)寫完之后,就到了最關(guān)鍵的時候,怎樣進行修改?
通過上面,可以看到input有一個失去焦點事件,因此我在這個事件里進行ajax請求
function edituser(id){ var username = document.getElementById('aaa'+id).value;//獲取文本框的值 $.ajax({ type:'GET',//請求方式 data:{'id':id,'username':username},//傳遞參數(shù) url:"{{url('edituser')}}",//地址 success:function(e){//回調(diào) if(e==1){ document.getElementById('aaa'+id).style.display = 'none';//如果修改成功,input隱藏 document.getElementById('bbb'+id).innerHTML = username;//修改成功,將表里修改后的數(shù)據(jù)賦值給span標簽 }else{ alert('修改失敗'); window.location.reload(); } } }) }
5)通過ajax傳遞的參數(shù),進行數(shù)據(jù)查詢和修改:
首先我們在控制器接收:
public function edituser(){ $arr = Input::get();//接收ajax傳遞的參數(shù) $result = BlueShop::useredit($arr);//調(diào)用模型,并將接收到的 id 和要修改的數(shù)據(jù)賦給模型 if($result){ $status = 1; }else{ $status = 2; } return $status;//將結(jié)果返回給展示頁面 }
然后我們在模型進行我們的邏輯代碼部分
//$arr數(shù)組 $arr['id'] 用戶id $arr['username']要修改的用戶名 public static function useredit($arr){ $res = DB::table('jy_user')->where('id',$arr['id'])->update($arr);//通過id修改 return $res;//返回結(jié)果 }
6)此時我們可以看到,頁面已經(jīng)修改
而數(shù)據(jù)表中的數(shù)據(jù)也進行了更新
這就是一個簡單的即點即改,希望對大家能有所幫助!!!
更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。
相關(guān)文章
thinkPHP多域名情況下使用memcache方式共享session數(shù)據(jù)的實現(xiàn)方法
這篇文章主要介紹了thinkPHP多域名情況下使用memcache方式共享session數(shù)據(jù)的實現(xiàn)方法,較為詳細的分析了session的原理及多服務器共享session的相關(guān)技巧,需要的朋友可以參考下2016-07-07PHP YII框架開發(fā)小技巧之模型(models)中rules自定義驗證規(guī)則
yii的models中rules部分是一些表單的驗證規(guī)則,對于表單驗證有幫助,在相應的視圖(views)里面添加了表單,在表單被提交之前程序都會自動先來這里面的規(guī)則里驗證,只有通過對其有效的限制規(guī)則后才能被提交,可以很有效地保證表單安全和信息的有效性2015-11-11php通過PHPExcel導入Excel表格到MySQL數(shù)據(jù)庫的簡單實例
下面小編就為大家?guī)硪黄猵hp通過PHPExcel導入Excel表格到MySQL數(shù)據(jù)庫的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10在win系統(tǒng)安裝配置 Memcached for PHP 5.3 圖文教程
這篇文章主要介紹了在win系統(tǒng)安裝配置 Memcached for PHP 5.3 圖文教程,需要的朋友可以參考下2015-03-03PHP FTP操作類代碼( 上傳、拷貝、移動、刪除文件/創(chuàng)建目錄)
這篇文章主要介紹了php中實現(xiàn)FTP功能,包括上傳,拷貝,移動,刪除文件與創(chuàng)建目錄功能,需要的朋友可以參考下2014-05-05PHP 在數(shù)組中搜索給定的簡單實例 array_search 函數(shù)
下面小編就為大家?guī)硪黄狿HP 在數(shù)組中搜索給定的簡單實例 array_search 函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06ThinkPHP V2.2說明文檔沒有說明的那些事實例小結(jié)
這篇文章主要介紹了ThinkPHP V2.2說明文檔沒有說明的那些事,實例分析了ThinkPHP中常用的技巧,需要的朋友可以參考下2015-07-07