【问题标题】:Detecting console input in developer tools在开发人员工具中检测控制台输入
【发布时间】:2018-09-17 21:16:04
【问题描述】:

我使用 JavaScript 已经有一段时间了,我想知道如何检测和使用控制台输入,并将所述输入分配给变量。我一直在使用提示来获取用户输入,但它效率低下并且停止了程序的其余部分,当我想到这种可能性时,我正在寻找更好的选择。

【问题讨论】:

  • 哪个控制台,node.js命令行repl?还是浏览器 devtools 控制台?在后一种情况下,不,您无法从网站访问它。
  • 在页面中使用输入字段。当然,这将需要您更改代码以处理异步,但任何不使用prompts 的东西都会。
  • 为什么不使用普通形式的input 元素?
  • 我正在使用命令行repl。
  • @Superdog 你在那里使用了什么“提示”?你能告诉我们你的代码吗?

标签: javascript input console


【解决方案1】:

根据 cmets,我建议如下:

<form action="/process-form" method="post" id="myForm">
  <label for="myVar">What variable do you want to set?</label>
  <input name="myVar" id="myVar" value="">
  <button>Submit</button>
</form>

用 JS 处理

var form = document.getElementById("myForm");
form.addEventListener("submit", function (event) {
  event.preventDefault();
  var formData = new FormData(event.target);
  // Assign the user input to the global scope so you can do whatever you want
  window.myVar = formData.get('myVar');
});

【讨论】:

  • new FormData(event.target).get('myVar') - 很有趣。 document.getElementById('myVar').value 可能更简单:-)
  • "将用户输入分配给全局范围,以便您可以做任何您想做的事情" - 不,不要那样做。你不知道什么时候该做什么。您将需要在提交回调中做您想做的事情。您应该调用一个函数,并将用户输入作为参数传递。
  • 我部分不同意。全局变量不是坏事。他们可以变成虽然!我只是在展示如何从用户输入中获取价值,而不是展示如何设计软件。取决于用例,全局变量可以谨慎使用。在大多数情况下,您的建议是一个很好的建议:)
猜你喜欢
  • 2011-08-21
  • 2015-07-27
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 2021-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多