【发布时间】:2013-10-23 11:00:46
【问题描述】:
您好,我正在尝试循环并检查具有特定值的数组。如果用户想要在输入中使用的值已经存在,则会显示一条消息,如果用户名是正确的并且是新的,它将被上传到我的 firebase!它适用于数组中的第一个元素,但如果我在循环中设置 .length 它需要所有但仍然发送假值?
<form id="">
<label>Your username: </label><input type="text" id="userName">
</form>
<script src="text/javascript">
var invalidUser=['value1','value2','value3','value4'];
var myDataRef = new Firebase('https://leastflyingwasps.firebaseio.com/');
$('#userName').keypress(function (e) {
if (e.keyCode == 13) {
var name = $('#userName').val();
for (var i = 0;i<invalidUser;i++) {
}
if (invalidUser[i] === name) {
alert('Not a valid username')
}
else {
myDataRef.push({name: name});
}
}
});
</script>
【问题讨论】:
-
你的
for循环在它开始后立即关闭 -
你没有循环
invalidUser,你的代码在 for 循环之外。顺便说一句,做身份验证是 JavaScript 不是一个好主意,人们很容易阻止它。 -
使用Ajax并验证
server side中的用户名存在
标签: javascript jquery arrays firebase