所以我有这个表格,用户输入一个数字及其状态。如果用户输入wa作为其状态和数字6,则POST返回true。但是,出于某种原因,当我输入wa和5时,它仍然会返回true,否则它不会。只是想知道为什么会这样。
非常感谢任何帮助。谢谢!
的JavaScript
function validatePOST()
{
var POST = false;
var STATE = document.getElementById("state").value;
var value = document.getElementById("postcode").value;
var digit = value.match(/\d/);
if ((digit == 6) && (STATE === wa))
{
POST = true;
}
if ((digit == 5) && (STATE === sa))
{
POST = true;
}
return POST;
}
答案 0 :(得分:0)
使用STATE==="sa"
和STATE==="wa"
答案 1 :(得分:0)
我想这是因为缺少引号。您需要将其与字符串进行比较,而不是将其与存储在名为wa或sa的变量中的值进行比较 - 在这种情况下,您将不会使用引号
function validatePOST()
{
var POST = false;
var STATE = document.getElementById("state").value;
var value = document.getElementById("postcode").value;
var digit = value.match(/\d/);
if ((digit == 6) && (STATE === "wa"))
{
POST = true;
}
if ((digit == 5) && (STATE === "sa"))
{
POST = true;
}
return POST;
}
你可以这样看起来有点整洁
if ( (digit == 6) && (STATE === "wa") )
{
POST = true;
} else if ( (digit == 5) && (STATE === "sa") )
{
POST = true;
}
return POST;
答案 2 :(得分:0)
为字符串文字使用双引号。
function validatePOST()
{
var POST = false;
var STATE = document.getElementById("state").value;
var value = document.getElementById("postcode").value;
var digit = value.match(/\d/);
if ((digit == 6) && (STATE === "wa"))
{
POST = true;
}
if ((digit == 5) && (STATE === "sa"))
{
POST = true;
}
return POST;
}
您可能还想阅读有关使用==和=== here
的信息