一个抽奖程序的问题。

colin1215 2011-01-17 04:47:56
<script language="javascript">

// global variables
var timer;
var flag = new Array(100);
var existingnum = new Array(100);
var clickTimes = 0;
var randnum;
var cellnum =1;
var mobile = new Array();

// set data here!!
mobile[0]=6564;
mobile[1]=6789;
mobile[2]=4598;
mobile[3]=2365;
mobile[4]=4567;
mobile[5]=1245;
mobile[6]=8785;

var num = mobile.length-1;
function getRandNum(){
document.getElementById("result").value = mobile[GetRnd(0,num)];
}
function start(){
clearInterval(timer);
timer = setInterval('change()',50);
}
function ok(){
clearInterval(timer);
}
function GetRnd(min,max){

randnum = parseInt(Math.random()*(max-min+1));
return randnum;
}
function setTimer(){
timer = setInterval("getRandNum();",10);
document.getElementById("start").disabled = true;
document.getElementById("end").disabled = false;
}
function clearTimer(){
noDupNum();
clearInterval(timer);
document.getElementById("start").disabled = false;
document.getElementById("end").disabled = true;

}function noDupNum(){
// to remove the selected mobile phone number
mobile.removeEleAt(randnum);

// to reorganize the mobile number array!!
var o = 0;
for(p=0; p<mobile.length;p++){
if(typeof mobile[p]!="undefined"){
mobile[o] = mobile[p];
o++;
}
}
num = mobile.length-1;
}
// method to remove the element in the array
Array.prototype.removeEleAt = function(dx)
{
if(isNaN(dx)||dx>this.length){return false;}
this.splice(dx,1);
}
// set mobile phone numbers to the table cell
function setValues(){
document.getElementById(cellnum).value = document.getElementById("result").value ;
cellnum++;
}
</script>
</head>
<body>
<center>
<div> </div>
<div id="main">
<div>
<h1>香港路9号2010年春节联欢晚会抽奖系统</h1>

<p>
<input id="result" type="text" size="30" style="height:130px;width:800px;border:2px solid red;font-size:120;" readonly/></p>
<p>
<input id="start" type="button" value="开始" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:4em; background: #fc0;" onClick="setTimer()" />
<input id="end" type="button" value="停" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:4em; background: #fc0;"onclick="clearTimer();setValues();" disabled/>
</p>
<p><strong>一等奖(10名)</strong></p>
<table width="946" height="79" border="1">
<tr>
<td><input name="text36" type="text" id="36" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text37" type="text" id="37" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text38" type="text" id="38" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text39" type="text" id="39" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text40" type="text" id="40" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text41" type="text" id="41" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text42" type="text" id="42" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text43" type="text" id="43" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text44" type="text" id="44" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text45" type="text" id="45" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
</table>
<p>二等奖(15名)</p>
<table width="951" height="88" border="1">
<tr><td><input name="text21" type="text" id="21" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text22" type="text" id="22" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text23" type="text" id="23" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text24" type="text" id="24" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text25" type="text" id="25" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text26" type="text" id="26" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text27" type="text" id="27" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text28" type="text" id="28" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text29" type="text" id="29" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text30" type="text" id="30" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text31" type="text" id="31" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text32" type="text" id="32" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text33" type="text" id="33" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text34" type="text" id="34" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text35" type="text" id="35" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
</table>
<p>三等奖(20名)</p>
<table width="961" height="102" border="1">
<tr>
<td><input name="text1" type="text" id="1" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text2" type="text" id="2" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text3" type="text" id="3" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text4" type="text" id="4" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text5" type="text" id="5" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text6" type="text" id="6" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text7" type="text" id="7" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text8" type="text" id="8" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text9" type="text" id="9" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text10" type="text" id="10" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text11" type="text" id="11" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text12" type="text" id="12" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text13" type="text" id="13" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text14" type="text" id="14" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text15" type="text" id="15" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text16" type="text" id="16" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text17" type="text" id="17" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text18" type="text" id="18" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text19" type="text" id="19" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text20" type="text" id="20" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
</table>
<p> </p>
<p> </p>
<p> </p>
</div>
</div>



想问下高手,这个抽奖程序里面只能填入数字。

// set data here!!
mobile[0]=6564;
mobile[1]=6789;
mobile[2]=4598;
mobile[3]=2365;
mobile[4]=4567;
mobile[5]=1245;
mobile[6]=8785;

如果填入字母或汉字,就不能运行了。需要怎么样修改一下,才能填入汉字和字母啊?

刚学js,所以。。。呵呵呵,谢谢大家了。
...全文
205 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hch126163 2011-01-18
  • 打赏
  • 举报
回复
我们公司的年会抽奖程序也是我写的!
纯js的!

可以自己设置 奖号个数,每等奖的 个数

每次摇奖,出的号码个数。限制中奖号码不能重复出现。
如果有没人领取的奖号,可以删除后,重新抽取!
hch126163 2011-01-18
  • 打赏
  • 举报
回复
mobile[0]=6564;
mobile[1]=6789;
mobile[2]=4598;
mobile[3]=2365;
mobile[4]=4567;
mobile[5]=1245;
mobile[6]=8785;

修改这些值就可以了

mobile[0]="aaa001";
mobile[1]="aaa002";
mobile[2]="aaa003";
mobile[3]="aaa004";
....


完全可以自己定义一个创建奖号的规则,循环设置奖号就可以了

要是有10000 个人参加,有10000个奖号,你这样要添加多久啊
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
你参考看看,哪个是你需要的...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>TEST</title>
</head>
<style type="text/css">
*{font-family:verdana,arial; font-size:12px;}
</style>
<body>
只能输入数字
<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/\D/g,'');"/><br/><br/>

只能输入汉字和英文字符
<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/[^a-zA-Z\u4E00-\u9FA5]/g,'');"/><br/><br/>

只能输入数字,汉字和英文字符
<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/[^0-9a-zA-Z\u4E00-\u9FA5]/g,'');"/><br/><br/>
</body>
</html>
colin1215 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 shenzhennba 的回复:]

你想 想哪些定义一些字母和汉字呢? 是部分还是所有范围,给出你的范围...等下回来答你
[/Quote]


抽奖程序不都是需要先定义很多的项目,然后再来抽取吗?再将抽取的内容调用到input框中。目前这个程序只能定义数字,也就是说现在只能给它很多数字,让它抽取一个。

但是,现在我想定义字母或者汉字名字,让它来抽。
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
你想 想哪些定义一些字母和汉字呢? 是部分还是所有范围,给出你的范围...等下回来答你
colin1215 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 shenzhennba 的回复:]

我这里可以啊,你看看下面。。。

<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/\D/g,'');"/>

完整例子如下:

HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN……
[/Quote]



兄弟,你理解错我的意思了,这个抽奖程序不是让自己在input框里面填写的。是首先自己定义一些项目,再抽出来后填入input框中,现在我的问题是,我在定义抽奖项目的时候只能定义数字,但是我想定义一些字母和汉字。

不知道我表达清楚没有,呵呵。
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
你的要求是只能输入数字吗?快点回复。。。。要下班了
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
我这里可以啊,你看看下面。。。

<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/\D/g,'');"/>

完整例子如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>TEST</title>
</head>
<style type="text/css">
*{font-family:verdana,arial; font-size:12px;}
</style>
<body>
<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/\D/g,'');"/>
</body>
</html>

hch126163 2011-01-17
  • 打赏
  • 举报
回复
timer = setInterval('change()',50);

change() 函数哪定义的呢?
colin1215 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 shenzhennba 的回复:]

引用 5 楼 colin1215 的回复:
引用 3 楼 shenzhennba 的回复:

<input type="text" onKeyUp="this.value=this.value.replace(/\\D/g,'');">
非数字0--9的字符去掉...



不行啊,我在input便签里面加上onKeyUp="this.value=this.value.repla……
[/Quote]


同样不行啊,感觉是上面的js里面的函数限定了只能是数字。
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 colin1215 的回复:]
引用 3 楼 shenzhennba 的回复:

<input type="text" onKeyUp="this.value=this.value.replace(/\\D/g,'');">
非数字0--9的字符去掉...



不行啊,我在input便签里面加上onKeyUp="this.value=this.value.replace(/\\D/g,'');"也不行啊。
[/Quote]

3L的回复多了一个 \ ,4L的是已经改过来了,你看看...
colin1215 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shenzhennba 的回复:]

<input type="text" onKeyUp="this.value=this.value.replace(/\\D/g,'');">
非数字0--9的字符去掉...
[/Quote]


不行啊,我在input便签里面加上onKeyUp="this.value=this.value.replace(/\\D/g,'');"也不行啊。
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
对了一个 \ 改如下

<input type="text" onKeyUp="this.value=this.value.replace(/\D/g,'');">
非数字0--9的字符去掉...
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
<input type="text" onKeyUp="this.value=this.value.replace(/\\D/g,'');">
非数字0--9的字符去掉...
colin1215 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yhtapmys 的回复:]

js 限制input只能输入数字
[/Quote]

它是用js控制只能输入数字的吧?那怎么改呢?
yhtapmys 2011-01-17
  • 打赏
  • 举报
回复
这是一个共享软件,除了可以在本站下载外,你还可以在http://dl.dbank.com/c0e431w4g9# 下载。其主要功能如下: 1、内置特等奖、一等奖~五等奖6个级别的奖项和1个自定义级别的奖项,抽奖顺序没有限制。 2、对于任意一等奖来说,可以一次抽取任意数量的奖项; 3、背景、解码用户可自行调整; 4、抽奖背景音乐用户可换; 5、可以在抽奖过程中显示中奖者的照片; 6、抽奖过程中可以显示用户所在的部门信息; 7、对于要求必须在场的抽奖,当中奖人不在场时可以做弃权处理; 8、抽奖结果立即存入Excel“抽奖结果”工作表中。 使用说明及注意事项   1、抽奖前请在Excel“工具”-“宏”-“安全性”中将宏的安全级别设置为低,然后关闭Excel重新打开,否则无法运行抽奖程序。 2、本程序支持六个固定级别的奖项设置和一个自定义的奖项设置。 3、抽奖顺序有两种,即先小奖后大奖或相反。这个设置仅用于初始化《抽奖》工作表中的奖项设置,抽奖过程中需手动在《抽奖》工作表中切 换抽奖级别。 4、本程序支持两种抽奖方法:每次抽取一组中的全部名额,或每次抽取指定的若干名额。但是推荐一次抽取1个,因为大余一个时只能显示最 后一名中奖者的照片,且显示众多中奖者的名字时布局不是很美观。 5、单项最多可设 5000 名中奖者,中奖者总数不能多于候选人数,否则在抽取最后一人时会出现死循环。 6、请在《候选名单》工作表中录入所有候选项。候选人仅受Excel行数限制,输入时请连续纵向输入,不留空行。 7、在《抽奖》工作表中点击“弃权”按钮时该组中奖的所有的人将被自动剔除,后面的抽奖中将不再参与抽奖。 8、当设置的奖项总数+弃权总数大于等于抽奖候选人总数时,程序将出现死循环。 9、抽奖一旦开始,请完成整个抽奖过程,不要中途退出程序或追加候选人名单。 10、本程序不支持重复中奖,中奖的人不计入下一轮抽奖中。     关于《抽奖》工作表的界面设置的几点说明: 1、修改《抽奖》工作表的界面时需要先解锁工作表。具体方法:“工具”-“保护”-“解锁工作表”。修改完后最好锁定工作表。 2、抽奖时可隐藏Excel航标、列表。具体方法:“工具”-“选项”-“视图”-“行号列号”,取消勾选前面的复选框。 3、在调整《抽奖》工作表时,不可插入、删除行或列。 4、一般地,修改《抽奖》工作表布局可以通过调整第一行的行高或第一列的列宽来实现。如果你要对控件进行详细布局设计(例如改变控件大 小),你可以通过控件设计模式来实现。具体方法:“视图”-“工具栏”-“退出设计模式”。 这时,你可以随意拖动按钮或照片控件的位 置及大小。调整完成后必须退出设计模式(将“退出设计模式”前面的勾取消掉)。系统的默认位置为D2单元格。 5、为满足多人抽奖的需要,《抽奖》工作表中的D5:D65536(即D列中从第5行到65535行)用来显示中奖者姓名。该列采用了条件格式,用特殊 的格式来显示中奖者的姓名。如果你需要更改这个样式,可在编辑工具栏(显示fx的那个工具栏)最左边的“名称框”中选择“ResultDisplay” 或输入D5:D65536并回车,这时这些单元格会被自动选上,然后从工具栏中的“格式”-“条件格式”中修改。 6、《抽奖》工作表中的下拉列表根据设置自动生成,请不要更改其下拉列表的内容。 7、全屏显示。具体方法:“视图”-“全屏显示”。 8、更换背景。具体方法:“格式”-“工作表”-“背景”,选择你要的背景图片即可。 9、更换默认照片。具体方法:替换photo文件夹下面的“none.jpg”这个图片文件即可。 10、若要在抽奖过程中显示中奖者的照片,则需把抽奖人的照片放到photo文件夹下面,同时在《候选名单》工作表的C列给出照片名。 11、若要更改在抽奖过程中播放的声音,可以替换Music文件夹下面的start.wav、finish.wav文件。
该抽奖插件主要用于动态网站(ASP,PHP,.NET,JSP,JS等)WEB页面中的抽奖活动使用,适用于二次开发使用;使用时请参考CHM说明书或文本说明; 1、可以设置每个奖品的中奖概率,概率可以设置为0(即为不中这个奖项)或100%(一定中这个奖项,前提本奖品数量大于0); 2、目前唯一一款可以调节概率模式的抽奖插件,可以根据网站的规模和实际情况,调节概率模式,更有利于抽奖活动的进行; 3、可以更换奖品图片,尺寸参考说明; 4、设置奖品名称,奖品名称可以在抽奖转盘中在鼠标滑过不同奖品图片时提出奖品信息; 5、设置奖品数量,奖品数量与名称均可以以揭示信息的形式显示出来,本程序相对其它抽奖插件更为合理与严谨,很多抽奖程序虽也可以设置奖品数量并传递给Flash转盘,但奖品数量不能实时更新,犯下了与现实场景抽奖活动的错误,请大家注意,网页抽奖是面对N多个用户同时自助抽奖的,奖品数量有可能在用户打开网页后,其它用户也在抽奖,故奖品数量在动态变化的; 6、可以按商家自己需求更换或设计不同的转盘背景,转盘指针,开始按钮等,方法参考说明; 7、抽奖程序可以以积分形式或登陆抽奖等形式进行,具体请参考说明; 8、抽奖插件使用时可以直接将抽奖转盘移于自己网页页面当中.....

87,992

社区成员

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

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