php中算 false 的情况
1、 boolean:false
2、 整形:0
3、浮点型:0
4、字符串:"" "0"(其他都对)
5、空数组
6、空对象为真(只在php4算false,其他版本都算true)
7、null和尚未定义的变量
8、所有资源都算对,除php4,所有对象也算对
JS中if()中的表达式
1、 Boolean: true 真 false 假
2、 String:非空字符串为真 空字符串为假
3、 Null/NaN/Undefined:全为假
4、 Object:全为真
5、 Number:0为假,一切非0均为真
二、循环:
1、在php中,elseif可连写,可分开;在JS中必须分开
2、在php中,switch中的判断为==,而非===;而JS中为===判断
3、在php中,continue可以用于switch结构,作用与break相同;而JS中continue不能用于switch
4、在php中,break和continue后可接数字,表示跳过或跳出循环的次数;而JS中break和continue后不能接数字
在javascript中,以下值均能作为if的条件1、布尔变量true/false
2、数字非0,非NaN/ (0 或NaN)
3、对象非null/(null或undefined)
4、字符串非空串(“”)/空串("")
你用 form.proid 取得的是一个控件组,就是同名的多个复选框,不能直接用 .value 的方式取值,需要每个判断是否被选中
<script type="text/javascript">function beforeSubmit(form){
var proidCheck = "0"
var proidCheck2 = "0"
for(var i=0i<form.proid.lengthi++){
if(form.proid[i].checked){
proidCheck = "1" //proid组中有选中则记录,并退出判断
break
}
}
for(var i=0i<form.pro2id.lengthi++){
if(form.pro2id[i].checked){
proidCheck2 = "1" //pro2id组中有选中则记录,并退出判断
break
}
}
if(proidCheck=='0' && proidCheck2=='0'){
alert('至少要选择一个')
return false
}
return false
}
</script>
<form action="saveorder.asp?type=add" method="post" onSubmit="return beforeSubmit(this)">
<input type="checkbox" name="proid" value="1">
<input type="checkbox" name="proid" value="2">
<input type="checkbox" name="proid" value="3">
<input type="checkbox" name="proid" value="4">
<input type="checkbox" name="proid" value="5">
<input type="checkbox" name="pro2id" value="11">
<input type="checkbox" name="pro2id" value="12">
<input type="checkbox" name="pro2id" value="13">
<input type="checkbox" name="pro2id" value="14">
<input type="checkbox" name="pro2id" value="15">
<input type="submit"/>
</form>