在JavaScript中从数组中获取布尔值
Get Booleans Out of An Array in JavaScript
我正试图从数组中获取值。如果数组中的值等于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());
}
看起来您试图在tokenArray中放置对令牌的引用,但您的代码只是用令牌的初始值填充数组。
var someVariable = false;
tokenArray[0] = someVariable; // tokenArray[0] === false
someVariable = true; // tokenArray[0] still === false
你的令牌变量和tokenArray之间没有长期的关联。
你可以这样做:
var byLawsToken = {val: false};
var meetingSummaryToken = {val: false};
var directoryToken = {val: false};
和
if(tokenArray[i].val) // no need to do an equality check with true
然后修改抛出函数来修改tokenVariable。
你在resetTokens中也有一个问题,你试图重置你的全局令牌变量,但你使用var声明局部变量,你可以直接设置它们,没有var;否则全局变量将保持不变。
而且,如果你能给我们更多关于你想要完成的事情的细节,那么可能有更优雅的方法来完成你想要做的事情。
我认为这里的问题是:
if(tokenArray[i].get() == true)
.get() Function不是JavaScript的核心函数。所以这可能是你的问题的原因。
相关文章:
- 当值更改时,在servlet中自动获取textarea值,无需单击按钮
- 如何从选择框中的选项中获取属性值
- 如何从javascript/jquery中的复选框中获取布尔值
- 如何从json数组中获取特定值
- 在数据库中循环值时,为输入框获取唯一值
- KendoUI网格行过滤器,带有布尔值下拉列表
- php布尔值's小写AND大写和数字布尔值'可以接受
- 如何通过Jquery从具有相同名称但不同索引的输入中获取所有值
- 获取唯一值并使用javascript计算金额总和
- JavaScript:从对象数组中获取唯一值及其计数
- 如何从jquery自动完成中获取对象值
- 使用 jQuery.data 从 dom 元素获取布尔值
- 使用 jQueryUI 从用户那里获取布尔值
- 如何从 asp.net 隐藏字段中设置和获取布尔值
- ajax从C#函数T4MVC中获取布尔值
- AngularJS如何获取布尔值
- 使用javascript获取php布尔值
- 在JavaScript中从数组中获取布尔值
- 获取指示哪个路由处于活动状态的布尔值 [角度 2]
- 如何获取对象数组中布尔值的计数(如果为 true)