我的script.js文件中有一个提示,它接收一个输入(用户名)并将其存储在一个数组中,然后应该将该数组发送到服务器。
我想知道,具体来说,如何获取"prompt.submit
"部分来工作,因为目前在控制台中写着 "prompt.submit is not a function"。- 我知道这是不正确的,但我不知道还能怎么做。
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;
});
});
我怎样才能重新创建 $('form').submit
在这个.js文件中,我有一个提示符,它接收输入(用户名)并将其存储在一个数组中,然后应该将这个数组发送给服务器。
不需要显式调用prompt.submit,因为没有这样的方法。使用prompt会冻结你的代码执行,从它被调用的地方开始,会继续点击ok,虽然最终也会得到它的值。
$("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>