台灣最大程式設計社群網站
線上人數
895
 
會員總數:244870
討論主題:188880
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> jqGrid Edit頁面換行處理
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
jqGrid Edit頁面換行處理
價值 : 50 QP  點閱數:1531 回應數:17

樓主

Leo
門外漢
0 20
920 61
發送站內信

日前小弟使用了jqgrid進行操作
感謝各位大大的協助!


目前出現Edit頁面換行的問題

有個Remark欄位型態是edittype:'textarea'
填寫時按Enter換行,點選Submit存入MySQL資料庫
但重新刷新查詢後Remark欄位無法正常顯示換行(會全部串成一行)
可是MySQL資料庫裡面的資訊確實有換行


後來我在jqGrid url的查詢php語法中
在Remark的值前面加了nl2br($row[remark])
查詢出來的結果可以正常顯示換行了!


可是目前問題在於我點選Edit按鈕跳出填寫的Remark欄位
會帶出<br>的換行符號...

請問這部分可以怎麼改善
讓我可以正常顯示換行,並在編輯頁面不顯示<br>


再請各位指教
謝謝!

搜尋相關Tags的文章: [ jqGrid ] , [ Edit ] , [ 換行 ] , [ Wrap ] ,
本篇文章發表於2016-09-13 15:04
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

彩虹
檢舉此回應
在編輯頁面,要填寫的textarea直接echo $row[remark];,帶出資料即可

顯示時,才用echo n2br($row[remark]);


不曉得有沒有懂我意思呢?

編輯頁面 echo $row[remark];
顯示頁面 echo n2br($row[remark]);
本篇文章回覆於2016-09-13 15:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Leo
檢舉此回應
感謝彩紅的回覆!

我大致上知道您的意思

但是我edit的url可以放置在哪邊?

目前我的作法如下



謝謝!
本篇文章回覆於2016-09-13 16:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

彩虹
檢舉此回應
不然你在會帶出<br>的換行符號頁面,還原成\n
懂我意思嗎?
本篇文章回覆於2016-09-13 16:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Leo
檢舉此回應
彩虹您的意思應該就是在編輯的頁面進行操作吧!

但是我現在比較不清楚的是

jqGrid點選Edit執行的頁面連結呈現在哪邊?

目前我連結只在上述查詢的url: 'assignedQuery.php'

以及edit裡面aftersubmit後所執行的url: 'jqGridEditurl.php'
本篇文章回覆於2016-09-13 16:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我來突破問題好了。

一般文件式的檔案或是input文件(text也是),可以認得\n這種換行符號。
可是在html,根本不知道這是什麼。。對它們來講其換行就是<br>

所以~~~一般在html顯示時,會是使用<br>的方式,其實 jqgrid 本身也會幫你轉換。
但你想改成編輯的話。你就得將<br>再改回文字式的換行做編輯。
本篇文章回覆於2016-09-13 16:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

彩虹
檢舉此回應
【Edit按鈕跳出填寫的Remark欄位】
就在這邊還原回去呀...
本篇文章回覆於2016-09-13 17:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

Leo
檢舉此回應
敢問版主

請問我該如何將<br>再改回文字式的換行做編輯???

再請指教 謝謝!
本篇文章回覆於2016-09-14 07:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

彩虹
檢舉此回應
鬼打牆嗎? 我不是已經說了

【<br>】換成【\r\n】



本篇文章回覆於2016-09-14 09:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

Leo
檢舉此回應
不是鬼打牆

我也明白彩紅您的意思

但是我不清楚jqgrid的edit顯示編輯頁面資訊的地方該在哪邊處理

本篇文章回覆於2016-09-14 09:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

彩虹
檢舉此回應
你可以試著在觸發"編輯"鈕的時後
將textarea的<br> replace成 \r\n

雖然我也沒真正去碰過jqGrid,但我覺得應該是可以這樣子做的
或者去翻裡面的程式碼,一定有個地方是將值放到textarea裡面
replace就是要寫在那個地方
本篇文章回覆於2016-09-14 10:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

彩虹
檢舉此回應
你先把assignedQuery.php 的 nl2br() 拿掉

我稍微找了一下,修改地方是這個js檔案裡面
路徑:【src/grid.inlinedit.js】
搜尋:【$("input, textarea",this).val()】後,你應該會看到這一整行tmp[nm]=$("input, textarea",this).val();

然後在他的下一行增加此程式碼試試看
tmp[nm]=tmp[nm].replace(/\\n/g,'<br>');


目前想法是這樣,你先試試看
要細部討論的話,看要加SKYPE或LINE,一起研究一下

需要的話,寄站內信給我
本篇文章回覆於2016-09-14 10:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

Leo
檢舉此回應
感謝彩紅的回覆

我目前沒有使用到grid.inlinedit.js

現在所引用的是下面兩個js
jquery.jqGrid.min.js
i18n/grid.locale-en.js

比較常用LINE 但我沒有設定ID...
如果方便能否由我這邊直接加入

再請協助指教
謝謝!
本篇文章回覆於2016-09-19 14:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
這真的是鬼打牆了~~~~

我一直以為你都是用jqgrid提供的程式運作。
還一直納悶說~~~明明人家jqgrid都已經幫你做好處理了。
怎麼還會發生這樣的事。

原來~~~你是自已寫自已處理啊~~

如果想要自已寫自已處理的話。很多東西都要去注意。
正規來說,一般jqgrid的記錄列數。都會存在一個地方可以給他使用。
你要嘛,自已去找出來。要嘛。乖乖的用他提供的插件。要嘛~~~自已去設定id插入。(這可是大工程,沒辦法給你簡單的帶過)
本篇文章回覆於2016-09-19 14:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
作者回應

Leo
檢舉此回應
版主我都是按jqgrid提供的語法進行調整...

如上述我2樓的回覆

所引用的是下載下來的
jquery.jqGrid.min.js
i18n/grid.locale-en.js
ui.jqgrid.css

引用js有一定的方式嗎?
還是我修改到了什麼@@ 我也沒改動到Sample的格式...
本篇文章回覆於2016-09-19 15:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
作者回應

Leo
檢舉此回應
補充上述url: 'assignedQuery.php'
assignedQuery.php


補充上述url: 'jqGridEditurl.php'
jqGridEditurl.php
本篇文章回覆於2016-09-19 15:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.