最近一客户想做个网站投票调查并设置奖项,刚开始觉得很简单,让新来的技术处理一下应该就OK了,没想到搞了二天最后还有一个复选框要求最多选5项,最少选3项的没搞定!没办法,只有亲自动手,呵呵,谁叫咱是网站建设技术部主管呢? 提交到保存页面处理效果不好,不仅对服务器造成负担,同时对客户使用也不方便,前台处理限定当选JavaScript了,假如复选框名称为aa,ID你随便取值,看看JS要如何写呢?
tem=0; var tas = document.getElementsByTagName("input"); for(var i=0;i<tas.length;i++) {
if (tas[i].getAttribute("name")=="aa")
if(tas[i].checked)
tem++;
} if(tem<3) {alert("您选得太少了,最少不能少于3项."); return false } if(tem>5) {alert("您选得太多了,不能超过5项."); return false }
这个是在提交表单时再处理的,如果我们在一边选一边处理要怎么办呢? <SCRIPT LANGUAGE="JavaScript"> var iMaxSelected = 5; var iNumChecked = 0; function doCheck(ctrl) { if(ctrl.checked){ iNumChecked++; } else { iNumChecked--; } if (iNumChecked > iMaxSelected) { ctrl.checked = false; iNumChecked--; window.alert('您选得太多了,不能超过5项.'); } } </SCRIPT>
至于多项选取如何存到数据库,这个以前我帮另外一个同事解答过,立天网络网站也有相关知识介绍,请查看下面的文章: 网站程序设计教你如何处理比较麻烦的多选项提交
另外还有一个问题在数据库里如何把选定的值取出来得到结果?我们以PHP为例加以说明:假如字段名称为aa, <?php $aa=$row["aa"]; $a=explode('a',$aa); $b=explode('b',$aa); $c=explode('c',$aa); $d=explode('d',$aa); $e=explode('e',$aa); ?> <?php if(count($a)>1){echo "选中了第1项<br>";}?> <?php if(count($b)>1){echo "选中了第2项<br>";}?> <?php if(count($c)>1){echo "选中了第3项<br>";}?> <?php if(count($d)>1){echo "选中了第4项<br>";}?> <?php if(count($e)>1){echo "选中了第5项<br>";}?>
本文地址:http://www.eobo.cn/news/353.html
|