如何将输入框的值添加到数组中,然后显示该数组的内容?这是我想出的,我不确定为什么它不起作用-console.log也没有向控制台发布任何内容。
var user = user;
if (!user) {
user = prompt('Please choose a username:');
if (!user) {
alert('Your name has been set to "Anonymous"');
} else {
alert('Your name has been set to "'+ user +'"');
}
}
var items = [];
function userArray() {
items.push(user);
return false;
console.log(items);
}
socket.on('onlineUsers', function (data) {
$('.dispUser').html(items);
});
该文件中的其余代码在下面,以防万一。...(根据第一个答案更改了return语句)
var user = user;
if (!user) {
user = prompt('Please choose a username:');
if (!user) {
alert('Your name has been set to "Anonymous"');
} else {
alert('Your name has been set to "'+ user +'"');
}
}
var items = [];
function userArray() {
items.push(users);
console.log(items);
return false;
}
socket.on('onlineUsers', function (data) {
$('.dispUser').html(items);
});
//Counts the number of users online
socket.on('count', function (data) {
$('.user-count').html(data);
});
//Receives messages and outputs it to the chat section
socket.on('message', function (data) {
$('.chat').append('<p><strong>' + data.user + '</strong>: ' + data.message + '</p>');
$('.chat').scrollTop($('.chat').height());
});
//SENDING OF THE MESSAGE
//Submit the form through HTTPS
$('form').submit(function (e) {
e.preventDefault();
// Retrieve the message from the user
var message = $(e.target).find('input').val();
// Send the message to the server
socket.emit('message', {
user: user || 'Anonymous',
message: message
});
// Clears the message box after the message has been sent
e.target.reset();
$(e.target).find('input').focus();
});
您的实现很好,但是您遇到了一个错误,该错误阻止了它按照您所描述的那样工作。
调用console.log(items)
不会显示任何内容,因为该行代码永远不会运行。
从函数返回时,后续代码行将不会运行。您应该将其return
作为函数中的最后一行,或将其包装成条件。
例如:
function userArray() {
items.push(user);
console.log(items);
return false;
}
学习技巧以解决此问题是非常宝贵的工具。您可以利用调试器(例如Chrome Devtools)在代码中添加断点。这些将使您可以停止在特定行上执行,查看变量的值以及逐步执行其余的代码行。
这样做可以清楚地看到代码行从未运行过。
在此处查找更多详细信息:https : //developers.google.com/web/tools/chrome-devtools/javascript
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句