js想做一个邀请好友的功能。FF不支持。

lixueyuanac 2011-04-02 09:52:00
类似于很多 SNS网站的一个邀请好友功能,点击一个好友背景就变色打上一个勾。我是用 数组的办法取好友的ID的。点击一个好友,给JS中的数组赋上它的ID,然后再取消选中时,就删除数组中的ID,但是在FF上测试不通过。
我是把循环出来的每个好友上的DIV的name、ID 设成好友的ID值。然后点击div的时候就传送ID到函数中。

JS代码如下


Array.prototype.indexOf = function(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
function sele(_this){
if(_this.style.backgroundImage==""){
mark++;
set(_this.id);
_this.style.background='#C0C0C0';
_this.style.backgroundImage="url(images/mark.png)";
_this.style.backgroundRepeat="no-repeat";
_this.style.backgroundPosition="right top";
}else{
mark--;
unset(_this.name.value);
_this.style.background='';
_this.style.backgroundImage="";
}
}

function set(id){
if(fs==null){
fs = new Array();
}
var len = fs.length;
fs[len+1]=id;
}

function unset(id){
var index = fs.indexOf(id);
if(index!=-1){
fs.remove(index);
}
}

function putin(){
//给表单中的隐藏域赋值,
document.all.fs.value=fs;
}


不知道各位有没有好的办法取到最终选中的好友ID?
...全文
127 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhtapmys 2011-04-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hch126163 的回复:]
//给表单中的隐藏域赋值,
document.all.fs.value=fs;
用 getElementById

如楼上所说,没必要高一个数组来保存。用户提交的时候,再来循环获取选中的好友编号!

可以不用checkbox.

div 设置几个属性就可以了

好友ID
是否选中
[/Quote]
++
hch126163 2011-04-02
  • 打赏
  • 举报
回复
//给表单中的隐藏域赋值,
document.all.fs.value=fs;
用 getElementById

如楼上所说,没必要高一个数组来保存。用户提交的时候,再来循环获取选中的好友编号!

可以不用checkbox.

div 设置几个属性就可以了

好友ID
是否选中

knightzhuwei 2011-04-02
  • 打赏
  • 举报
回复
ff不支持 document.all.的写法
另外最后提交 的时候可以去遍历所有的checkbox有没有打钩 打钩的取id然后提交
lixueyuanac 2011-04-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tianxiaojuntt 的回复:]

点击的时候不要去保存或者删除一个ID,在最后确定时候在去获取被选中的ID值。
[/Quote]


主要是 每个好友项都是在一个 DIV中,到最后提交 的时候 怎么去判断 是否选中了呢?
TianXiaoJunTT 2011-04-02
  • 打赏
  • 举报
回复
点击的时候不要去保存或者删除一个ID,在最后确定时候在去获取被选中的ID值。
lixueyuanac 2011-04-02
  • 打赏
  • 举报
回复
还有 成员变量


//数组
var fs;
//数组索引
var mark = 0;
啤酒泡泡 2011-04-02
  • 打赏
  • 举报
回复
楼主将问题复杂化了,最后提交时判断checkbox是否选中

var allcb = $("form.frm input[type='checkbox']:[checked]");
var cids = [];
for ( var i = 0; i < allcb .length; i++) {
cids.push($(allcb[i]).val());
}
if (cids.length<1) {
alert('请选择邀请的好友。');
return false;
}

山寨SNS由S.T支持团队荣誉出品。欢迎大家捧场 更新日志 2008-12-3 停车大站更新后台图片无法打开的错误。 2008-12-4 停车大站前台js不兼容错误 动ta一下在部分mysql版本无法安装的错误 2008-12-5 停车大站ajax标点错误 修正Ta一下的图片大小不一 2008-12-8 修正了点击街道中头像出现false的JS书写错误。 更新 动ta 一下的,将varchar限制改为text 2008-12-9 修正停车文件笔误导致相关错误链接。 更新停车版本信息提示方式并修正一个逻辑错误 2008-12-10 增加后台获取最新版本 修正了无法打开INTERNET站点的问题 2008-12-11 修正好友印象时间错误! 更新了 pk_ajax.php pk_ajax.htm parking.htm 以及 version.php 2008-12-18 修正了“获得当前的积分”这个函数对停车时间超过12小时的处理逻辑。 2008-12-24 修正了FF下的开罚单不能提交的问题。 =========================================================== 游戏介绍: 好友买卖 游戏中你可以把好友买下来他们的主人,你也可能被好友买下来成为好友的奴隶。根据供求定理,被买卖次数越多,奴隶身价越高。游戏中只可以买卖自己的好友邀请更多好友参与,游戏更好玩。 停车大战 停车大战是一个通过停车来赚钱的游戏,把车停在别人的车位上即可赚钱。如果你没有停车,每分钟需要支付油费 ¥1 (每次最多扣 48 小时,共 ¥2880 ),停车时不需要支付油费。 P.s,现实中买不起法拉利、保时捷,在游戏里YY下吧,HOHO! 好友印象 好友之间相互评价对对方的印象! 动Ta一下   跟朋友沟通太少感觉有点无聊?那就“动”他一下吧!“动他一下”组件,允许你发送各种动作给你的好友。 看Ta不爽就“让ta食大便”,他得罪你了就“让ta去见芙蓉姐姐”,Ta把你哄得很开心就“送ta一杯温暖的奶茶”,Ta对你不忠就“罚ta跪搓衣板”,Ta不乖就“罚ta洗厕所”,他是你的奴隶“让ta去挖煤”……你的地盘你作主! 礼物 给你的爱人、朋友和亲人送上一份特别的礼物,表达你对他们最真挚的情感! 投票 为决定买哪款手机而烦恼?究竟给宝宝起什么名字?今年春节去哪儿旅游?那就填上你的候选项,听听大家的看法,让你的所有好友投票帮你决定吧! 你也可以使用本组件,来任何方面的小调查,看看朋友们的观点。 (一) 此插件只针对PHPWIND 7.0版本有效 (二) 安装之前:请务必备份数据,安装此平台造成的数据丢失或损坏,S.T支持团队不承担任何责任。 (三) 安装步骤: 第一步:使用ftp工具中的二进制模式,把 upload 目录里的所有文件覆盖上传到您的论坛目录。 第二步:进入后台插件管理。安装“山寨SNS”。 第三步:“前台显示方式”选择下拉菜单显示或者直接显示。 第四步:进入“山寨SNS”的设置页面。将“未安装SNS应用程序列表”中列出的应用程序添加到平台之中。

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧