我有一个创建锚标签的功能,点击锚标签我传递了一些参数。如何在点击锚标签时传递对象。
这是我的代码
var obj = {
"Name": "USA",
"id": 1,
"CON": "NA",
"VAl": "TS"
}
if (obj.VAl) {
obj.text = "<a style='color:#0000ff' onClick='openMyData(event," + obj + ")' href='javascript:void(0);'>" + "</a>";
}
但是点击后我得到未捕获的SyntaxError:意外的标识符调试器未在openMyData
触发。如果我给我的价值像obj.VAl
那么它就会被解雇。任何人都可以帮助我找到我想要的东西。
onclick甚至代码:
function openMyData(evt, obj){
var win = window.open('someURL',"","resizable=yes,menubar=no,status=yes,scrollbars=no", fullscreen = "1");
win.resizeTo(screen.availWidth, screen.availHeight);
win.moveTo(0, 0);
win.focus();
}
我希望我的对象在新窗口的范围内。
答案 0 :(得分:1)
你需要像这样JSON.stringify(obj)
if (obj.VAl) {
obj.text = "<a style='color:#0000ff' onClick='openMyData(event,'" + JSON.stringify(obj) + "')' href='javascript:void(0);'>" + "</a>";
}
引号括起JSON.stringify(obj)
。然后,您可以在openMyData
函数中解析它以获取实际对象。
function openMyData(evt, obj){
var win = window.open('someURL?objValue='+ obj,"","resizable=yes,menubar=no,status=yes,scrollbars=no", fullscreen = "1");
win.resizeTo(screen.availWidth, screen.availHeight);
win.moveTo(0, 0);
win.focus();
}
然后在新窗口中,您可以使用参数objValue
获取该值,然后解析该值以获取整个对象。
答案 1 :(得分:-1)
var obj = {
"Name": "USA",
"id": 1,
"CON": "NA",
"VAl": "TS"
}
if (obj.VAl) {
obj.text = "<a style='color:#0000ff' onClick='openMyData(event," + obj + ")' href='javascript:void(0);'>" + "</a>";
}