前端 - javascript 传参数问题
PHP中文网
PHP中文网 2017-04-10 12:48:40
0
2
469

在写代码的时候,有时候需要将html拼成串,追加到相应的元素上,这个拼的html,有时候还要带上javascript的事件。这里面一个传参数的问题,有点想不明白。下面我详细记录一下:

//这是jqgrid里面,特殊表格的自定义显示
function customFmatter(cellvalue, options, rowObject){  

    // rowObject - 当前cell所在row的值,如{ id=1, name="name1", price=123.1, ...}
    console.log(rowObject); 
  return "<button  onclick=\"deleteData(\""+rowObject+"\"s)\">删除</buttion> "
}

function deleteData(obj){
console.log(obj); //这里的obj就不是上一个方法里面的obj了。
}

这种情况下,传递Object不可以这样拼吗? 我试着改成JSON.stringify(rowObject)以串的形式传给deleteData方法,但是因为这个对象 也是有双引号,所以这样弄,就会报

Uncaught SyntaxError: Unexpected token ILLEGAL

总结一下,应该是两个问题: 1.在dom事件中,传递object会有什么特殊的规则吗? 2.对于传递的数据中,有可能出现的特殊字符,如果避免?

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(2)
黄舟

你把 rowObject 直接与字符串相加,rowObject 被调用 toString() 方法转换成字符串 [object Object]。于是……你懂了?

你可以用 JSON.stringify 把一个类字典对象转换成字符串来传递,然后在函数内部再使用 JSON.parse 来解析。

阿神

这样等于传了一个字符串进去

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿