【问题标题】:How to submit a prompt inside a .js file如何在 .js 文件中提交提示
【发布时间】:2020-05-01 19:53:58
【问题描述】:

我的 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

【问题讨论】:

  • 你在浏览器中运行这个吗?
  • 是的,这是一个使用socket.io和express.js的node.js系统。

标签: javascript node.js express socket.io prompt


【解决方案1】:

不需要显式调用 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多