<?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”,页面将没有警报。为什么?错误在哪里?
答案 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);