在else语句中发出警报

时间:2011-05-27 02:15:47

标签: javascript if-statement alert conditional-statements

为什么这段代码不能正常工作?如果有人选择ID为“1599”的内容,则会显示“$ 1,599.00”。如果ID不匹配,则警报应显示“$ 1,499.00”。但事实并非如此。有人可以帮我解决这个问题吗?

感谢

<html>
<script type="text/javascript">
function showPrice(){

var a = document.getElementById();

    if (a == "1599"){
        alert("$1,599.00");
    }
    else {
        alert("$1,499.00");
    }
}
<body>
<div class="hc_right">
            <input type="button" class="spc" value="Price" onclick="showPrice()" />
            <p class="price" id="1599">$1,599.00</p>
        </div>

        <div class="hc_right">
            <input type="button" class="spc" value="Price" onclick="showPrice()" />
            <p class="price" id="1499">$1,499.00</p>
        </div>
    </div>

</body>
</html>

3 个答案:

答案 0 :(得分:1)

您需要让showPrice知道要为其显示提醒的元素。目前,您实际上并未使用document.getElementById选择任何内容(此时a将为nullundefined

有很多不同的方法可以做到这一点,但为了使它接近你当前的实现,我可能会做这样的事情:

<强> HTML

<div class="hc_right">
        <input type="button" class="spc" value="Price" onclick="showPrice(1599)" />
        <p class="price" id="1599">$1,599.00</p>
    </div>

    <div class="hc_right">
        <input type="button" class="spc" value="Price" onclick="showPrice(1499)" />
        <p class="price" id="1499">$1,499.00</p>
    </div>
</div>

<强>的Javascript

function showPrice(a){

    if (a == "1599"){
        alert("$1,599.00");
    }
    else {
        alert("$1,499.00");
    }
    return false;
}

<强> Fiddle here

答案 1 :(得分:0)

我想如果添加一个,我会看到问题     警报(A); 在if(...)之前 - 我的猜测是你没有得到你期望的价值。

答案 2 :(得分:0)

document.getElementById()方法接受要查找的ID的参数。类似的东西:

document.getElementById("1599")

并将返回具有该ID的文档元素。不确定没有参数传递时它会返回什么。