好的,所以我使用的是JS,我遇到了以下功能的问题。
在我的PHP文件中,我有:
<?php
$file = fopen("utensils/".$cake.".txt", "r") or exit("Unable to open file!");
while(!feof($file)) {
$image = fgets($file);
echo "<div id='".$image."' class='utensil' onclick='useUtensil(this.id)'>".$image."</div>";
}
fclose($file);
?>
在JS中我有:
function useUtensil(id) {
alert(id);
if (id == "Sandwich Tins") {
alert(id);
} else {
alert("You do not need that utility!");
}
}
这是一个非常奇怪的错误,因为我有一个几乎完全相同的代码片段,但是,使用此代码,虽然第一个警报(id)警告“三明治罐”,它不警告(id),而是遇到else语句。
非常感谢任何帮助!
答案 0 :(得分:0)
所以你说警报正在返回"Sandwich Tins"
,但比较仍然失败了?如果是这种情况,那么就像其他人提到的那样:
1)领先或尾随空格。
2)案件问题(尽管你声称的情况似乎并非如此)。没有双关语。
3)“三明治”是错误的。也许它应该是id ==“Sandwich Tin”?
通过这样做来测试第一个:
function useUtensil(id) {
if (id.trim() == "Sandwich Tins") {
alert(id);
} else {
alert("You do not need that utility!");
}
}
如果这不起作用,请尝试:
function useUtensil(id) {
if (id.trim().toLowerCase() == "Sandwich Tins".toLowerCase()) {
alert(id);
} else {
alert("You do not need that utility!");
}
}
如果仍然无效,我建议您检查控制台中的输入,并确保将其与正确的字符串进行比较。
答案 1 :(得分:-4)
放一个空格 id ==&#34;三明治罐&#34;