1
Fork 0

Prefill input (useful for bookmarklets)

This commit is contained in:
Jan-Lukas Else 2020-04-01 20:00:43 +02:00
parent 4821887b07
commit 65194076c1
1 changed files with 6 additions and 6 deletions

12
main.go
View File

@ -87,7 +87,7 @@ func ShortenFormHandler(w http.ResponseWriter, r *http.Request) {
return return
} }
err := generateForm(w, "Shorten URL", "s", []string{"url", "slug"}) err := generateForm(w, "Shorten URL", "s", [][]string{{"url", r.FormValue("url")}, {"slug", r.FormValue("slug")}})
if err != nil { if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError) http.Error(w, err.Error(), http.StatusInternalServerError)
} }
@ -100,7 +100,7 @@ func UpdateFormHandler(w http.ResponseWriter, r *http.Request) {
return return
} }
err := generateForm(w, "Update short link", "u", []string{"slug", "new"}) err := generateForm(w, "Update short link", "u", [][]string{{"slug", r.FormValue("slug")}, {"new", r.FormValue("new")}})
if err != nil { if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError) http.Error(w, err.Error(), http.StatusInternalServerError)
} }
@ -113,21 +113,21 @@ func DeleteFormHandler(w http.ResponseWriter, r *http.Request) {
return return
} }
err := generateForm(w, "Delete short link", "d", []string{"slug"}) err := generateForm(w, "Delete short link", "d", [][]string{{"slug", r.FormValue("slug")}})
if err != nil { if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError) http.Error(w, err.Error(), http.StatusInternalServerError)
} }
} }
func generateForm(w http.ResponseWriter, title string, url string, fields []string) error { func generateForm(w http.ResponseWriter, title string, url string, fields [][]string) error {
tmpl, err := template.New("Form").Parse("<!doctype html><html lang=en><title>{{.Title}}</title><h1>{{.Title}}</h1><form action={{.Url}} method=post>{{range .Fields}}<input type=text name={{.}} placeholder={{.}} /><br><br>{{end}}<input type=submit value={{.Title}}></form></html>") tmpl, err := template.New("Form").Parse("<!doctype html><html lang=en><title>{{.Title}}</title><h1>{{.Title}}</h1><form action={{.Url}} method=post>{{range .Fields}}<input type=text name={{index . 0}} placeholder={{index . 0}} value={{index . 1}}><br><br>{{end}}<input type=submit value={{.Title}}></form></html>")
if err != nil { if err != nil {
return err return err
} }
err = tmpl.Execute(w, &struct { err = tmpl.Execute(w, &struct {
Title string Title string
Url string Url string
Fields []string Fields [][]string
}{ }{
Title: title, Title: title,
Url: url, Url: url,