[英]Check an array of values with jQuery
嗨,我正在尝试循环并检查具有特定值的数组。 如果用户想要在输入中使用的值已经存在,则会显示一条消息,如果用户名是正确的,并且新用户名将被上载到我的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
循环之外进行的。 其次,您可以使用$.inArray()
简化此操作:
var invalidUser = ['value1', 'value2', 'value3', 'value4'];
$('#userName').keypress(function (e) {
if (e.keyCode == 13) {
var name = $('#userName').val();
if ($.inArray(name, invalidUser) != -1) {
alert('Not a valid username')
}
else {
var myDataRef = new Firebase('https://leastflyingwasps.firebaseio.com/');
myDataRef.push({ name: name });
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.