遇到 javascript null 问题
我尝试过纠正下面的代码。但我找不到解决方案。执行代码后,firebug 说“document.getElementById(haystack.value) 为 null”。我尝试了
if(document.getElementById(haystack).value ==null)
,但毫无用处。请帮帮我。
var haystack=document.getElementById('city1').value;
if(!document.getElementById(haystack).value)
{
alert("null");
}
else
{
alert("not null");
}
编辑:
haystack 获取城市的值。当我尝试在 haystack 上使用“alert”-alert(haystack) 时,我得到了肯定的答复。但是当我尝试使用“document.getElementById(haystack).value”时,我得到了错误。不过有一点,haystack 获取的 id 元素可能存在也可能不存在。
再次编辑:
我想我会自杀。我将城市作为输入元素的名称属性,而不是 id 属性。很抱歉,在电脑前坐了这么久让我失去了理智。但这不是浪费你时间的借口。请接受我诚挚的歉意。感谢spender 的帮助。
您尝试在
document.getElementById('city1')
上查找可能为空的属性。请尝试以下方法:
var haystackElement=document.getElementById('city1');
if(!haystackElement)
{
alert("haystackElement is null");
}
else
{
alert("haystackElement is not null");
var haystack=haystackElement.value;
if(!haystack)
{
alert("haystack is null");
}
else
{
alert("haystack is not null");
}
}
您已经拥有
haystack
对象:
var haystack=document.getElementById('city1');
if(!haystack.value)
{
alert("null");
}
else
{
alert("not null");
}
document.getElementById
用于获取元素,您已完成此操作并将其放置在
haystack
变量中。无需再次调用
document.getElementById
(并且这样做是错误的)。阅读有关
getElementById
的信息。
遗憾的是,您向我们展示了一些代码并描述了一个错误(看起来像是被错误地转录了),而没有告诉我们您实际上想要实现什么。
请查看此代码示例,它修复了代码的稳健性问题,并且包含更详细的警报消息,以清楚地说明检测到的内容。
希望它能为您解决问题。
var haystack = document.getElementById('city1').value;
var haystack_element = document.getElementById(haystack);
if (haystack_element) {
if (haystack_element.value) {
alert("The element has a true value");
} else {
alert("The element has a false value, such as '' or 0");
} else {
alert("No element with that name");
}