2012-04-26 97 views
0

当我试图通过这个值,我得到这个错误通过传递一个值的函数

09不是合法的ECMA-262八进制常数打破这个错误]

linkClicked( SS-10-04-2012-0199)

javasc ... 2-0199)(1号线,列26)没有被定义SS

不知道这意味着什么,试图将值转换为字符串预先等bu T,然后它不会阅读所有

for(var i=0; i < resultArray.length; i++){ 
var temp = resultArray[i].pp_order_details_id; 
$('#results').append('<tr><td><a href="javascript:linkClicked(' + temp + ')">' + resultArray[i].pp_order_details_id + '</a></td><td>' + resultArray[i].order_ref + '</td><td>' + resultArray[i].status + '</td></tr>'); 
} 

以上是在数据被写入到表 用户应该点击链接,和pp_order_details_id应该传递给linkClicked功能如下

function linkClicked(orderno) { 
$.post("../../order/get-order.php", { 
    orderRef: orderno 
}, function (data) { 
    if (data.match("set")) { $('#my_order_details').fadeOut("fast").load('index#my_order_details').fadeIn("fast"); 
    } 
}); 
} 

我可能做的事情传递错误的,因为我不使用它,但认为我会问

回答

1

该错误消息的外观,这是您要linkClicked电话:

linkClicked(SS-10-04-2012-0199) 

但是你需要传递一个字符串。注意,除了转义字符'的:

$('#results').append('<tr><td><a href="javascript:linkClicked(\'' + temp + '\')">' //... 

这将导致在调用看起来像这样:

linkClicked('SS-10-04-2012-0199') 
+0

太棒了!不明白为什么第一个反斜杠是在第一个撇号之前,但它效果很好! – Pam 2012-04-26 12:33:42

+0

现在我明白了:) – Pam 2012-04-26 12:34:16

+0

@Pam - 它在那里,因为第二个撇号是结束传递给追加的字符串文字的那个。第一个撇号是该字符串文字的一部分,如果有意义的话。无论如何,很高兴我能帮到:) – 2012-04-26 12:35:17