【发布时间】:2015-11-08 08:49:49
【问题描述】:
我正在尝试从数组中获取值。如果数组中的值等于 false,它会将页面重定向到新窗口。但是,dialogBehavior() 函数将不起作用。有谁知道问题是什么?语法有错误吗?
var byLawsToken = false;
var meetingSummaryToken = false;
var directoryToken = false;
var tokenArray = new Array(3);
tokenArray[0] = byLawsToken;
tokenArray[1] = meetingSummaryToken;
tokenArray[2] = directoryToken;
var windowLocation = new Array(3);
windowLocation[0] = "bylaws.html";
windowLocation[1] = "index.html";
windowLocation[2] = "about.html";
function dialogBehavior()
{
var hashedPassword = "6909b1c8fa84hd98b1f25aa1a4bccc23";
var hashedInput = CryptoJS.MD5($("#passwordTXT").val()).toString();
if(hashedInput == hashedPassword)
{
// The part I'm having trouble with
for(var i = 0; i < tokenArray.length; i++)
{
if(tokenArray[i].get() == true)
{
window.location.href = windowLocation[i];
break;
}
}
}
else
{
$("#error").show();
$("#passwordTXT").val("")
}
}
function throwByLawsToken()
{
byLawsToken = true;
}
function throwMeetingSummaryToken()
{
meetingSummaryToken = true;
}
function throwDirectoryToken()
{
directoryToken = true;
}
function resetTokens()
{
var byLawsToken = false;
var meetingSummaryToken = false;
var directoryToken = false;
}
function hideDialog()
{
$("#error").hide();
$("#passwordTXT").val("")
}
function writeDate()
{
document.write(new Date().getFullYear());
}
【问题讨论】:
-
"dialogBehavior() 函数将不起作用" 请详细说明。它实际上是做什么的?你做了什么来尝试修复它?
-
在 JavaScript 中进行比较时始终使用三等号
===。 -
您还说“如果数组中的值等于 false,它会将页面重定向到新窗口”,但您的代码却相反。
if(tokenArray[i].get() == true) { window.location.href = windowLocation[i]; } -
@navasd 这完全是错误的。如果您应该只使用 === 运算符,那么其他运算符为什么会存在呢?
-
函数 dialogBehavior( ) 将根据用户点击的链接将用户重定向到新网页。但是,该功能不会将人重定向到新页面。循环中的if语句不会执行。
标签: javascript arrays loops boolean