如何检测用户输入到网页上的表单

时间:2017-11-24 17:07:36

标签: html go

我正在尝试检测用户是否在golang托管的网页上输入内容,但每次用户单击该按钮并提交表单时,它只会重定向到另一个页面(我在localhost:8080上托管并重定向到本地主机:8080 /文本)。我很确定这是因为表单操作设置为“/ text”但如果我删除了golang handlefunc永远不会运行。以下是我到目前为止的情况:

package main

import (
  "log"
  "net/http"
  "fmt"
)

func main()() {
  //runs server
  fs := http.FileServer(http.Dir("./"))
  http.Handle("/", fs)
  log.Println("Listening...")
  http.ListenAndServe(":8080", nil)
  //detects user input and calls function
  http.HandleFunc("/text", textGetter)
}

func textGetter (w http.ResponseWriter, r *http.Request) () {
  r.ParseForm()
  text := r.PostFormValue("text")
  fmt.Fprintf(w, "this: %s", text)
  fmt.Print(" was written in the text box")
}

和这个html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>hello</title>
    <link rel="stylesheet" href="./stylesheet.css">
  </head>
  <body>
    <h1>Write something bellow</h1>
    <form class="userText" action="/text" method="post">
      <input type="text" name="textbox" id="textBox" value="" placeholder="type something here">
      <input type="submit" value="text" name="button" id="button" onclick="thank(message.value)">
    </form>
    <script type="text/javascript" src="./script.js"></script>
  </body>
</html>

有人可以告诉我出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

这是一个独立于Go或任何其他语言的前端任务。

您可以跟踪用户输入,将onkeypress属性添加到感兴趣的字段中。你需要一些Ajax库。例如,您可以jQuery

尝试类似以下的代码:

<input ... onkeypress="input()">
<script>
       function input(){
            $.ajax(url, parameters)
       }
 </script>