参数传递问题

sunjie8586 2010-07-13 02:31:35
<input type="text" name="cnum<?php echo $id;?>" size="3" value="1" onblur="return cvp(<?php echo $id;?>,<?php echo $res2[m_price]; ?>,<?php echo $ids;?>);"/>
这是前台的一个文本框,通过修改它的值,调用cvp()方法,方法中传递3个参数,分别是$id,$m_price,$ids=>这个是一个数组。

function cvp(key,mpr,ids){
alert(ids[].length);
var n_pre="total";
var num='cnum'+key.toString();
var total=n_pre+key.toString();

var t_number=document.getElementById(num).value;
var ttl=t_number*mpr;
document.getElementById(total).innerHTML=ttl;

var sum=0;
for (var i=1;i<=ids.length;i++){
var ttl="total"+ids[i].toString();
var total=document.getElementById(ttl).innerText;
sum+=parseInt(total);
}
document.getElementById("sum").innerHTML="共计:"+sum+"元";
}这是js脚本

执行时,总是提示'undefined'为空或不是对象,我感觉是ids的错误,应该怎么改啊
...全文
43 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunjie8586 2010-07-13
这是购物车功能的一部分,我想实现,更给商品数量,计算出该商品的总额,和所有商品的总额,该如何实现啊
回复
wirror800 2010-07-13
[Quote=引用 3 楼 dingsongtao 的回复:]
onblur="return cvp(<?php echo $id;?>,<?php echo $res2[m_price]; ?>,<?php echo $ids;?>);"

这里输出的是数组????
你最好在PHP里:
$ids=json_encode($ids);
再用上面的方式输出!!!
在JS里就以操作JSON数据的方法来操作数据
[/Quote]

UP!
回复
Dleno 2010-07-13
onblur="return cvp(<?php echo $id;?>,<?php echo $res2[m_price]; ?>,<?php echo $ids;?>);"

这里输出的是数组????
你最好在PHP里:
$ids=json_encode($ids);
再用上面的方式输出!!!
在JS里就以操作JSON数据的方法来操作数据
回复
CunningBoy 2010-07-13
<?php echo $ids;?>这个只会输出Array,不是输出数组内容

你的用XML格式来传递数组内容
回复
kyzy_yy_pm 2010-07-13
alert(ids[].length);去掉会报错误么?
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告