diff --git a/main.go b/main.go index dcbd257..22e2514 100644 --- a/main.go +++ b/main.go @@ -87,7 +87,7 @@ func ShortenFormHandler(w http.ResponseWriter, r *http.Request) { 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 { http.Error(w, err.Error(), http.StatusInternalServerError) } @@ -100,7 +100,7 @@ func UpdateFormHandler(w http.ResponseWriter, r *http.Request) { 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 { http.Error(w, err.Error(), http.StatusInternalServerError) } @@ -113,21 +113,21 @@ func DeleteFormHandler(w http.ResponseWriter, r *http.Request) { 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 { http.Error(w, err.Error(), http.StatusInternalServerError) } } -func generateForm(w http.ResponseWriter, title string, url string, fields []string) error { - tmpl, err := template.New("Form").Parse("{{.Title}}

{{.Title}}

{{range .Fields}}

{{end}}
") +func generateForm(w http.ResponseWriter, title string, url string, fields [][]string) error { + tmpl, err := template.New("Form").Parse("{{.Title}}

{{.Title}}

{{range .Fields}}

{{end}}
") if err != nil { return err } err = tmpl.Execute(w, &struct { Title string Url string - Fields []string + Fields [][]string }{ Title: title, Url: url,