问题标签 [htmx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用 htmxjs 将数据加载到表单中
我正在使用HTMXJS一个 javascript 库,它允许您直接在 HTML 中访问 AJAX。
虽然我了解HTMX的基本逻辑,但也有一些方面我没有得到。
我设法制作了一个表格并将数据写入服务器:
HTMX 将读取所有name
内容并将它们提交到write.php
可以通过以下循环读取的位置$_POST
:
写.php:
我不明白如何用服务器返回的数据填充表单。例如,给定以下表单和以下输出,我想INPUT
在按下按钮时填充单个字段:
HTML:
加载.php:
我知道文档说“当您使用 htmx 时,在服务器端您通常使用 HTML 而不是 JSON 响应”,但这是否意味着服务器输出应该是像这样再次呈现表单所需的整个 HTML 代码?
如果表单有几十个字段、长选择菜单和复杂的复选框组怎么办?会不会是从服务器传递到客户端的大量数据?
我很确定我错过了什么......
javascript - 禁用按钮并在行上显示沙漏(htmx)
我使用htmx通过html-over-the-wire更新我的页面片段
这工作正常:
.... 用户按下+
或-
按钮后,相应的行将使用来自服务器的新版本进行更新。
我想给用户一些视觉反馈:
- 在 ajax 调用期间应禁用按钮
- 在更新的行上方应该有一个沙漏。
htmx - htmx:hx-target:交换 html 与整页重新加载
我有一个包含多个表单的页面。
如果用户提交表单,那么只有当前表单应该被提交(而不是页面的其他表单)。
在服务器上,表单得到验证。
案例 1:如果验证失败,则服务器将 html 发送到客户端,并且应该交换特定的表单并将新表单添加到 DOM。这个新表单包含一条错误消息。用户现在可以修复他的错误并再次提交表单。
案例2:表单验证成功,数据被保存。现在我想在客户端触发整页重定向。
我阅读了 htmx hx-target的文档。我设法让 case-1 工作(我喜欢 htmx 的这个功能)。
但是服务器如何触发整页重定向呢?
django - DELETE 方法的基于 Django 类的视图无法重定向到 ListView
我正在使用 django 3.1 和基于类的视图。
当我使用 DELETE 并使用 POST 发送 METHOD_OVERRIDE 请求时,它会正确发送到我设置的删除视图。
但它会失败,因为在重定向到 /servers/ 时会出现 405 Method Not Allowed 错误。
该请求作为 X-HTTP-Method-Override 在 POST 请求中设置为 DELETE 发送到/servers/:id/
.
删除成功,问题在于成功删除后的重定向。
它在控制台中的样子
什么是解决方法
但是,如果我发送一个常规的 POST 方法/servers/:id/delete
并相应地设置 url,那么重定向就可以了。
所以基本上当我使用基于类的视图时我不能使用 DELETE 是吗?
更新
显然这是因为客户端为 302 重用了相同的 DELETE 方法。因此现在将 htmx 作为标签添加到问题中
htmx - 如何拥有嵌套的选择下拉菜单,为主列表和 htmx 的依赖列表获取不同的内容?
维护人员要求在此处重新发布
问题
在https://htmx.org/examples/value-select/
我可以make
说它直接在 html 中,当它发生变化时,会调用 hx-get 来获取新的模型列表。
如果我想让 themake
和model
all 都依赖 ajax 怎么办?
想说的意思
我希望能够从/makes
加载中获取获取选项列表
然后不知何故我也可以填充依赖模型。
我不介意将其作为两个请求进行。原因是在我的情况下makes
也依赖于第 3 方 API
javascript - htmx:子元素中更改事件的 hx 触发器
我将htmx与 Django 表单库一起使用。
这是我的模板:
这是创建的html:
我希望它<tr>
像一种形式。
我试图找到一种方法来告诉hx-trigger监听<select>
.
如何告诉 htmx 在select
更改后立即提交数据?
背景:这是一场接力赛,每条腿都是桌子上的一排。
javascript - Select2“更改”事件不会触发 htmx
这可以按我想要的方式工作:如果<select>
更改,则触发htmx。
如果我使用 django-autocomplete-light 小部件,则它不起作用。
我使用这个版本:django-autocomplete-light==3.8.1
post-redirect-get - 如果您提交 HTML 片段,则需要发布/重定向/获取?
过去我使用了Post/Redirect/Get模式:
- html 是通过 POST 提交到服务器的
- 服务器处理数据。
- 如果一切正常,服务器以 http 302 响应(重定向
- 客户端将页面重定向到新位置。
如果您通过htmx提交 html 片段,这是否仍然需要?
htmx - htmx:如何使每一行表现得像一个表格?
我想要一个这样的表,并让每一行的行为都像<form>
.
如果用户点击“保存”,则只有当前行应该被提交给服务器。
我试过<tr hx-post="..."> ...
了,但这会提交所有输入元素,而不仅仅是当前行。
我玩过hx-include和hx-params,但到目前为止还没有找到解决方案。