问题标签 [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.
htmx - 在页面加载时加载 div,然后每隔 n 秒使用 htmx?
使用HTMX,我知道我可以像这样每 2 秒轮询一次例如“/news”:
但是在页面加载后第一次触发之前需要 2 秒。我想要做的是在页面加载后立即触发对“/news”的调用,然后每 2 秒轮询一次。
我已经尝试过诸如:
和
但这些都不起作用。我怎样才能用 HTMX 做到这一点?
(我知道这通常是 HTMX 的一种不好的做法,因为您可以只在响应中包含来自服务器的数据,但出于好奇我想知道 :))
django - 如何在 Django 中处理来自 HTMX 的 PATCH 请求?
我想向我的应用程序发送一个 PATCH 请求,但我不确定如何在 Django 中使用该请求。我目前收到以下错误。
HTMX 文件中的输入字段如下所示(我还确保发送 CSRF 令牌):
这是 Django 视图
Django 正在接收请求,但不确定如何处理 request.PATCH。我可以在 Django 文档中看到有 HttpRequest.GET 和 HttpRequest.POST 但没有 HttpRequest.PATCH https://docs.djangoproject.com/en/3.2/ref/request-response/#httprequest-objects。处理 PATCH 的最佳方法是什么?
javascript - 使用 htmx 发送两个输入值的组合
我正在编写一个简单的网站,我决定在客户端Django
尝试使用 htmx库来加载 html 片段。现在我想按不同的字段对列表进行排序,升序和降序。我有这样的事情:
我想order_by=<order><key>
在当前 url 中添加/替换查询参数(例如 /articles?page=2&order_by=-publish_date.),并在“选择”更改和“按钮”单击时将其发送回 Django 视图。端点返回一个 Html 我想用 Htmx 将它与另一个 Html 节点交换。(请注意,跨度类应在按钮单击以显示排序为 Asc 或 Dsc 时更改)
可以使用htmx
吗?如果没有,欢迎使用简单的 Javascript 解决方案。
server-sent-events - 用 htmx 和服务器发送的事件插入“beforeend”?
我正在使用 htmx 1.6.1,并且正在试验服务器发送事件的支持。我正在实现一个简单的聊天,当用户发布消息时,我希望将此消息发送给所有聊天参与者。因此,当我在服务器上收到一条新消息时,我会将其转换为 HTML 片段并通过 SSE 连接将其发送到每个客户端。例如,当聊天页面加载时,它会返回包含所有聊天消息的 HTML:
现在,如果“john”向某个资源发布另一条消息,例如“hello”,那么我想<li>john: hello</li>
通过 SSE 向每个客户端发送此 HTML:
但我不知道该怎么做。在客户端收到 SSE 事件以再次获取整个“ul”后,我设法触发了对服务器的 GET ,但这不是我想要做的。(我的想法)我想做的是在“ul”标签的“beforeend”插入SSE事件的内容,而不向服务器发出额外的请求。
我怎样才能做到这一点?
javascript - 可排序的 JS 在 htmx 呈现部分时中断
我正在尝试使用 SortableJS 和 htmx 实现拖放可排序列表。我让它工作了一次,但是在拖放第一个元素(以及重新渲染的部分)之后,我不能再使用拖放功能。当未重新渲染部分时,拖放功能按预期工作。我已经尝试使用htmx.on("htmx:load",...
以及将脚本放在部分中。
我使用 diff 来检查渲染部分之前和之后的 html 之间的差异,据我所知,重新排序列表之外的唯一区别是 csrf 令牌。
任何帮助,将不胜感激!
从views.py:
来自 eventlist.html:
来自 base.html:
javascript - 为什么点击回车按钮提交输入在手机浏览器上不起作用?
我遇到了一个奇怪的问题。我想通过单击输入按钮来搜索产品。我e.which == 13 || e.which == 10
与keypress keyup
触发器一起使用,如下所示。
我已经在我的笔记本电脑浏览器(chrome 和 Mozilla Firefox)上试过这个。我尝试在桌面/移动显示器上使用元素检查器,它工作正常。但是当我在手机浏览器上尝试时,它不起作用。当我按下回车键时,它会跳转到另一个部分并且不提交表单。这只发生在手机的产品搜索页面上,但在其他页面上,它工作正常。
*当在主页上显示keyCode为13时,我尝试在警报上调试单击的keyCode,但是在产品搜索中没有出现警报keycode
如果你想尝试,只需从我开发的网站测试HERE,然后尝试在桌面 - 手机浏览器中搜索(例如锯)并点击输入
谁能解释为什么会这样?
django - 使用 HTMX 添加新表行
我正在尝试使用 Htmx 添加一个新的表格行。通过单击“添加新行”按钮,应将新行添加到表中。我无法将 secondary_hx.html 中的行添加到表中,而是导致三个表单彼此相邻,而没有 or 。任何帮助,将不胜感激。先感谢您。我的代码是这样的:
主.html:
部分/secondary_hx.html:
htmx - 如何在 HTMX 请求中包含 contenteditable 元素的内容?
我想在 contenteditable 字段/div 更改时发布它的内容。hx-trigger="change"
没有触发,但使用hx-trigger="blur"
没问题。如何在请求中提交 contenteditable div 的值?
javascript - 无限滚动后hx-get不触发
在每篇文章中,我都有以下代码:
在第一个分页中,htmx 正在触发,但在无限滚动后,它没有触发(我正在使用 Waypoints Infinite Scroll)。我注意到其他 jquery 在页面 > 1 之后也无法正常工作。
任何帮助,将不胜感激