Обмен в элементах в таблице с HTMXHtml

Программисты Html
Ответить
Anonymous
 Обмен в элементах в таблице с HTMX

Сообщение Anonymous »

Я пытался использовать HTMX для добавления новой строки к таблице, которую я отображаю. Я использую атрибут hx-swap-oob, чтобы я мог перерисовать форму и обмениваться внутри таблицы новую строку. Проблема в том, что я все вставил, где форма, поэтому форма верна, но новая строка появляется без метки ниже формы. < /P>
Вот это HTML -код: < /p>
Основной шаблон: < /p>
{{ define "allUsers" }}

{{ template "form" .Form }}
{{ template "contacts" .Data }}

{{ end }}
< /code>
Форма: < /p>
{{ define "form" }}


Name:
Email:
Password:
{{ if .Errors }}
{{ .Errors.msg }}
{{end}}

CreateUser

{{ end }}
< /code>
Контакты: < /p>
{{ define "contacts" }}


Users




ID
Name
Age
Email
-



{{ range .Contacts }}
{{ template "contact" . }}
{{ end }}




{{ end }}
< /code>
Это то, что я пытаюсь отображать с помощью HTMX-swap-oob: < /p>
{{ define "contact" }}

{{ .ID }}
{{ .Name }}
{{ .Age }}
{{ .Email }}





hx-target="#contact-{{ .ID }}">



{{ end }}
< /code>
И здесь я отправляю данные из бэкэнда после отправки формы: < /p>
{{ define "form-and-oob" }}
{{ template "form" .Form }}

{{ template "contact" .Data.Contact }}

{{ end }}
< /code>
И вот мой обработчик, написанный в Go, используя Echo: < /p>
func (s *ServerBU) handlePost(c echo.Context) error {
name := c.FormValue("name")
email := c.FormValue("email")
password := c.FormValue("password")

if !s.EmailIndex.IsDuplicate(email) {
log.Printf("Email %s already in use\n\n\n", email)

form := NewForm()
form.Values["name"] = name
form.Values["email"] = email
form.Values["password"] = password
form.Errors["msg"] = "Email already registered."
return c.Render(422, "form", form)

}

id, newUser, err := NewUser(name, "default", email, password, 42069)
if err != nil {
form := NewForm()
form.Values["name"] = name
form.Values["email"] = email
form.Values["password"] = password
form.Errors["msg"] = "Some error. Please try again."
return c.Render(422, "form", form)
}

s.EmailIndex.Put(email, id.String())
s.Storage.Put(id.String(), *newUser)

p := NewPage(*NewForm(), Data{Contact: *newUser})

return c.Render(200, "form-and-oob", p)
}
< /code>
Я попытался использовать прямую цель для , но я все еще получаю те же результаты. Также просто отправляя контакт, без перерисовывания формы, но новая строка все еще проходит под формой. Я просто не могу найти способ нацеливаться на правильную вещь, это просто не движется из области ниже формы!

Подробнее здесь: https://stackoverflow.com/questions/794 ... -with-htmx
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»