layer.open彈出框不能獲取input框改變後的值 & textarea 取值取不到(已解決)
阿新 • • 發佈:2018-12-15
之前總是以為textarea的取值有問題,翻了各種資料發現是用的layer.open導致的。
問題如下:當我修改textarea的值後,觸發layer open的成功回撥函式,得到的值還是textarea之前的值,並不是改變後的值。
解決方法:
將content的$("#commentHtml").html()改成dom節點方式$("#commentHtml")即可
改完一個bug又來一個bug:
加上type型別就好了,(網上說彈出的dom節點層可以放在body之外,防止與本頁面造成渲染汙染,這個沒試)
HTML和DOM節點區別:
摘自layer.open官網
- /!*
- 如果是頁面層
- */
- layer.open({
- type: 1,
- content: '傳入任意的文字或html' //這裡content是一個普通的String
- });
- layer.open({
- type: 1,
- content: $('#id') //這裡content是一個DOM
- });
- //Ajax獲取
- $.post('url', {}, function(str){
- layer.open({
- type: 1,
- content: str //注意,如果str是object,那麼需要字元拼接。
- });
- });
- /!*
- 如果是iframe層
- */
- layer.open({
- type: 2,
- content: 'http://sentsin.com' //這裡content是一個URL,如果你不想讓iframe出現滾動條,你還可以
content: ['http://sentsin.com', 'no']
- });
- /!*
- 如果是用layer.open執行tips層
- */
- layer.open({
- type: 4,
- content: ['內容', '#id'] //陣列第二項即吸附元素選擇器或者DOM
- });