Как отправить подсказку внутри файла. js - PullRequest
0 голосов
/ 01 мая 2020

В моем скрипте есть приглашение. 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;
    });
  });

Как я могу воссоздать $('form').submit для приглашения в этом файле. js?

1 Ответ

1 голос
/ 01 мая 2020

Нет необходимости явно вызывать prompt.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>
...