javascript if else语句问题

时间:2011-06-17 23:18:12

标签: javascript

<?php $genderdb = "Male"?>
<script type="text/javascript">
        var genderdb = "<?php echo $genderdb; ?>";
        if ((genderdb == "Female") || ($genderdb == "Shemale")) {
            var himher = "her";
        } else {
            var himher = "him";
        }
        alert (himher);
</script>

如果我更改了php $genderdb = "Female",那么它可以提醒值成功。但如果$ genderdb =“Male”,页面将没有警报。为什么?错误在哪里?

3 个答案:

答案 0 :(得分:4)

if ((genderdb == "Female") || ($genderdb == "Shemale")) {

应该是

if ((genderdb == "Female") || (genderdb == "Shemale")) {

genderdb"Female"时,它有效,因为那时(破碎的)第二次比较不会进入等式。

此外,在条件块中使用var是可疑的。 Javascript实际上没有块范围,所以它可以工作,但这是需要考虑的事情。

答案 1 :(得分:2)

此行中有错误:

if ((genderdb == "Female") || ($genderdb == "Shemale")) {

即,genderdb的第二个引用使用PHP变量的名称,而不是JavaScript变量。

答案 2 :(得分:0)

从'人妖'比较中删除$

这导致你的脚本失败,因为它正在寻找一个不存在的变量。

        var genderdb = "<?php echo $genderdb; ?>";
        if ((genderdb == "Female") || (genderdb == "Shemale")) {
            var himher = "her";
        } else {
            var himher = "him";
        }
        alert (himher);