js的一个空值判断问题

qinkangwencai 2011-09-09 09:43:37
function brandAdd(){
//TODO添加品牌和机型
//alert($("#abc-machine-brand").val());
if(document.getElementById("abc-machine-brand").value==null){
alert();

} else {
...
}
}

<select id="abc-machine-brand" name="abc-machine-brand" style="width: 100px;">
<option value=null selected>选择品牌</option>

option里的值明明是null,而当我判断的时候就是alert不出来,为什么?

而我改成这样后,就没问题了。我的判空肯定是出了问题,option里的值是null,该怎么该addBrand函数
function brandAdd(){
//TODO添加品牌和机型
//alert($("#abc-machine-brand").val());
if(document.getElementById("abc-machine-brand").value==“选择品牌”){
alert();

} else {
...
}
}

<select id="abc-machine-brand" name="abc-machine-brand" style="width: 100px;">
<option value="选择品牌" selected>选择品牌</option>
...全文
1188 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinkangwencai 2011-09-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fanchuanzhidu 的回复:]

null是个关键字
null不等于 "null"
html元素的value值最好不要使用关键字 容易混淆
[/Quote]


根本不对 如果是null或者“null”是一样的,“”或者换成“字符串”就没问题
hgs198608 2011-09-09
  • 打赏
  • 举报
回复
你写成这样应该可以:if(document.getElementById("abc-machine-brand").value=="null"){}
雪花公子 2011-09-09
  • 打赏
  • 举报
回复
null:代表一个空的对象。
"" :代表一个空字符串,是一个实例对象,这个实例对象的值长度为0.
"null":也是一个实例对象它的值是字符串null,长度为4.

你上面的
豆虫 2011-09-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qinkangwencai 的回复:]
引用 4 楼 fanchuanzhidu 的回复:

null是个关键字
null不等于 "null"
html元素的value值最好不要使用关键字 容易混淆


只要<option value="null" selected>选择品牌</option> 中的value=null,或者“null”,在brandAdd函数中都取不到值, 而value=“”时则没有问题。 能否深入讲解,……
[/Quote]
我3楼不是已经告诉楼主答案了么 brandAdd函数中if判断条件改成3楼那样
BLUE_LG 2011-09-09
  • 打赏
  • 举报
回复

if(!(document.getElementById("abc-machine-brand").value)){}

楼主这样判断试试。。。
qinkangwencai 2011-09-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fanchuanzhidu 的回复:]

null是个关键字
null不等于 "null"
html元素的value值最好不要使用关键字 容易混淆
[/Quote]

只要<option value="null" selected>选择品牌</option> 中的value=null,或者“null”,在brandAdd函数中都取不到值, 而value=“”时则没有问题。 能否深入讲解,在网上没有找到答案,只能请教高手
豆虫 2011-09-09
  • 打赏
  • 举报
回复
null是个关键字
null不等于 "null"
html元素的value值最好不要使用关键字 容易混淆
豆虫 2011-09-09
  • 打赏
  • 举报
回复
document.getElementById("abc-machine-brand").value=="null"
小脩 2011-09-09
  • 打赏
  • 举报
回复
document.getElementById("abc-machine-brand").value是个空字符串。
三石-gary 2011-09-09
  • 打赏
  • 举报
回复
value=null改为value=""试试
Redstone 2011-09-09
  • 打赏
  • 举报
回复
alert()必须传入参数,哪怕打只打一对引号也行。
YeHuai1991 2011-09-09
  • 打赏
  • 举报
回复

if(document.getElementById("abc-machine-brand").value==null){

}
修改:
if(document.getElementById("abc-machine-brand").value==""){
alert();

}
出来打酱油 2011-09-09
  • 打赏
  • 举报
回复
还有。通过document.getElementById("brandSelect").value得到的肯定是个字符串,即使你没指定value值,它返回的是text文本值,如果连文本值都没指定,就返回空字符串。
所以通过document.getElementById("brandSelect").value == null得到的结果肯定为false。
出来打酱油 2011-09-09
  • 打赏
  • 举报
回复
当给option的value赋值为null的时候,它表示的是字符串的"null",这点你可以用
alert(typeof document.getElementById("brandSelect").value);验证。
很显然"null"和null是不一样的。

87,910

社区成员

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

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