【问题标题】:How do I send a POST request based on text field change? (without the use of a submit button)如何根据文本字段更改发送 POST 请求? (不使用提交按钮)
【发布时间】:2019-09-21 01:45:16
【问题描述】:

我想要一个用户在文本字段中输入内容的应用程序。用户完成后,表单会自动“提交”一个 POST 请求。 (应该有一个延迟,比如说,在用户停止输入后 2 秒)。

我不知道该怎么做——我想它需要一些 javascript 或更多的机器。我正在使用烧瓶/Python。

我在 SO 中广泛搜索了这些解决方案,但找不到开始的地方。

【问题讨论】:

  • 为什么不想使用按钮?听起来您好像是 javascript 新手,这可能是让 post 请求使用按钮工作的更好学习步骤,并且作为以后的增强功能,您可以弄清楚如何监视用户输入。你的后端是烧瓶/Python 吗?
  • 您所说的可以做到,但是您如何确定用户对他们输入的内容完全满意?如果您不在乎,那么我可以发布答案
  • @ann-kilzer 我有一个使用提交按钮的工作解决方案。它只是从教程中复制和粘贴,与问题没有直接关系,所以我没有发布它。
  • @sasy-solutions 很公平。我有一些设计理念激发了我的问题。这就像拼写检查,用户期望并希望得到反馈。

标签: javascript html flask


【解决方案1】:

当用户更改输入字段的内容时执行 JavaScript:

<input type="text" onchange="sendData()" id="myData">

https://www.w3schools.com/jsref/event_onchange.asp

然后你可以用 xmlhttprequest POST https://www.w3schools.com/js/js_ajax_http.asp

      var stuff = document.getElementById("myData").value;
      var xhr = new XMLHttpRequest();

      var p ='https://example.com/whereyouwantyourposttogo';
      xhr.open('POST', p, true);
      xhr.onreadystatechange = function() {
    //do your stuff when the POST data comes back
      };
//if you want to send JSON data do JSON.stringify(stuff) inside the send
//for example xhr.send(JSON.stringify(stuff));
      xhr.send(stuff);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多