我的script.js文件中有一个提示,该提示接受输入(用户名)并将其存储在数组中,然后应将数组发送到服务器。
我想知道如何才能使“ prompt.submit
”部分正常工作,因为它当前指出在控制台中“ prompt.submit不是函数”。 -我知道这是不正确的,但是我不确定该怎么做。
var socket = io();
var items = [];
var user = user;
if (!user) {
user = prompt('Please choose a username:');
items.push(user);
if (!user) {
alert('Your name has been set to "Anonymous"');
} else {
alert('Your name has been set to "'+ user +'"');
}
}
console.log(items);
$(function (e) {
prompt.submit(function(e) {
e.preventDefault(); // prevents page reloading
socket.emit(items);
return false;
});
});
请注意,我将以上代码基于以下工作代码,该代码从HTML文件中的表单获取输入并将其发送到服务器:
$(function () {
$('form').submit(function(e) {
e.preventDefault(); // prevents page reloading
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
});
如何在此.js文件中为提示重新创建
$('form').submit
? 最佳答案
因为没有这样的方法,所以无需显式调用hint.submit。使用提示将冻结代码的执行位置,并继续单击“确定”,同时最终也会获得其价值
$("document").ready(function () {
//var socket = io();
var items = [];
var user = prompt('Please choose a username:');
if (!user || user ==="") {
alert('Your name has been set to "Anonymous"');
items.push("Anonymous")
} else {
items.push(user);
alert('Your name has been set to "'+ user +'"');
}
sendItems(...items)
function sendItems(items) {
console.log(items)
//socket.emit('chat message',items);
return false;
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>