JavaScript onclick傳遞對象參數(easyui傳遞一行數據時)錯誤:uncaught SyntaxError: Unexpected identifier
博主遇到的是用onclick傳遞對象參數時(easyui傳遞一行數據時),會報Sncaught SyntaxError: Unexpected identifier錯誤。
經查,onclick(對象)這種傳遞對象形式里面的對象會變成onclick([object Object])。
- 解決方法:將對象轉化為json字符串,再將json字符串的雙引號轉換成單引號就行了
- 思路: JSON.stringify().replace(/\”/g,”’”)將對象轉化成JSON字符串傳遞,函數接收后會自動變成對象(原理暫不清楚)。
-
過程解釋: JSON.stringify()將對象轉化成JSON字符串;.replace(/\”/g,”’”)將JSON字符串中的雙引號轉化成單引號,不然會報
Unexpected end of input錯誤(這個錯誤是由於帶的json字符串。它的雙引號與onclick控件的雙引號沖突了) -
代碼內容如下
- 傳遞參數
var $row = JSON.stringify(row).replace(/\"/g,"'");//row的是一個對象 <a href="#" onclick="editParentRow('+$row+')">編輯</a>//拼接傳遞對象
- 1
- 2
- 接收參數
function editParentRow(obj){ console.log(obj);//console打印 alert(obj);//提示框 }
