藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年8月25日 8:28

求救.如何控制好多項選擇選擇數量.小弟在線等....

我剛剛做了一個投票程序.現在遇到了一個問題..有112個選項..(多選框)
我如何能控制他們指給選擇30個呢?這112個多選是循環出來的.!~
希望大俠們能夠提供一個思路....或者案例給我參照下.!

小弟在線等....

JS控制
checked=true 則num++
checked=false num--
num=30 若仍有選項被選種
使其checked=false
也可彈出警告信息

^_^..非常感謝AngleStudio提供方法..!~!!@~@!

........Js的能給個案例嘛??
我想了好長時間還是不會啊!!!~!
我太菜了..!!希望各位大哥能賜教一下...!!~

思路我有了.可惜就是不知道寫法!~

我還是太菜了...高手們快點賜教一下吧!~::

嘿嘿!~~!@!~@!~@~!@!~

樓主先給出具體代碼。


[code]function isemail(str)
{
        if (str.length > 100) {
                return false;
        } else {
                var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$";
                var re = new RegExp(regu);
                if (str.search(re) != -1) {
                        return true;
                } else {
                        return false;
                }
        }
}
function ismobile(numb)
{
        if (numb.length < 11) {
                return false;
        } else {
                var filter=/^13[012356789]{1}[0-9]{8}$/;
                if (filter.test(numb)) return true;
        }
}
function ischecked(v)
{
        if (checked = true) {
                return false;
        } else {
                var filter=/^$/;
                if (filter.test(numb)) return true;
        }
}
function chkform(frm)
{
        var mobile;
        var email;
        var v;
        mobile = frm.mobile.value;
        email  = frm.email.value;
        v      = frm.v.value;
        if(mobile == '' || !ismobile(mobile)) {
                alert("請檢查您的手機號碼是否正確!");
                return false;
        }
        if(email == '' || !isemail(email)) {
                alert("請檢查您的email是否正確!");
                return false;
        }
        if(v > '31' || !ischecked(v)) {
                alert("選擇的投票選項不能超過30個!")
        }
}[/code]

function ischecked(v)
{
        if (checked = true) {
                return false;
        } else {
                var filter=/^$/;
                if (filter.test(numb)) return true;
        }

這裡非常的亂..希望不會讓你們看昏了..嘿嘿.! :)

這個裡面有檢測手機號碼的.還有檢測郵箱的..最後一個就是檢測checked的..就是這個我不知道怎麼寫了.

....................flyhan
大哥還在嘛?

........繼續等待中...

如果是用asp做,假設每個checkbox的名稱為a,值都不同.
在提交的結果頁面裡
a=request.form("a")
a=split(a,", ")
if ubound(a)>30 then
出錯提示
end if

[html]
<form name="frm1" action="" onSubmit="return checkit(this)">
<input type="checkbox" name="opt" value="1">a<br>
<input type="checkbox" name="opt" value="2">b<br>
<input type="checkbox" name="opt" value="3">c<br>
<input type="checkbox" name="opt" value="4">d<br>
<input type="checkbox" name="opt" value="5">e<br>
<input type="checkbox" name="opt" value="6">f<br>
<input type="checkbox" name="opt" value="7">g<br>
<input type="submit">
</form>
<script>
function checkit(frm) {
        var count = 0;
        var limit = 4;
        for(var i = 0; i < frm.opt.length; i ++) {
                if(frm.opt[i].checked) count ++;
        }
        if(count <= 0) {
                alert('請至少選擇一個項目.');
                return false;
        }
        if(count > limit) {
                alert('你選擇的項目不得多於' + limit + '個.');
                return false;
        }
}
</script>
[/html]

我得到的一個解決方法..拿出來給大家共享一下!!:)




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com