问题标签 [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.

0 投票
1 回答
76 浏览

htmx - 在页面加载时加载 div,然后每隔 n 秒使用 htmx?

使用HTMX,我知道我可以像这样每 2 秒轮询一次例如“/news”:

但是在页面加载后第一次触发之前需要 2 秒。我想要做的是在页面加载后立即触发对“/news”的调用,然后每 2 秒轮询一次。

我已经尝试过诸如:

但这些都不起作用。我怎样才能用 HTMX 做到这一点?

(我知道这通常是 HTMX 的一种不好的做法,因为您可以只在响应中包含来自服务器的数据,但出于好奇我想知道 :))

0 投票
2 回答
177 浏览

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 的最佳方法是什么?

0 投票
3 回答
447 浏览

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 解决方案。

0 投票
0 回答
38 浏览

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事件的内容,而不向服务器发出额外的请求。

我怎样才能做到这一点?

0 投票
1 回答
72 浏览

javascript - 可排序的 JS 在 htmx 呈现部分时中断

我正在尝试使用 SortableJS 和 htmx 实现拖放可排序列表。我让它工作了一次,但是在拖放第一个元素(以及重新渲染的部分)之后,我不能再使用拖放功能。当未重新渲染部分时,拖放功能按预期工作。我已经尝试使用htmx.on("htmx:load",...以及将脚本放在部分中。

我使用 diff 来检查渲染部分之前和之后的 html 之间的差异,据我所知,重新排序列表之外的唯一区别是 csrf 令牌。

任何帮助,将不胜感激!

从views.py:

来自 eventlist.html:

来自 base.html:

0 投票
1 回答
50 浏览

htmx - 在 HTMX 中按名称引用输入值

我最近开始研究使用 HTMX,但遇到了一个我无法弄清楚的问题。本质上,我有一个选择元素,每当用户进行选择时,我都会使用它来进行 http POST 。但是,为了发布该帖子,我需要提供一个令牌,该令牌存储在有关select的输入中。有没有办法让我在 HTMX 语法中使用名称“csrfmiddlewaretoken”来引用上面的输入?

在此处输入图像描述

0 投票
4 回答
231 浏览

javascript - 为什么点击回车按钮提交输入在手机浏览器上不起作用?

我遇到了一个奇怪的问题。我想通过单击输入按钮来搜索产品。我e.which == 13 || e.which == 10keypress keyup触发器一起使用,如下所示。

我已经在我的笔记本电脑浏览器(chrome 和 Mozilla Firefox)上试过这个。我尝试在桌面/移动显示器上使用元素检查器,它工作正常。但是当我在手机浏览器上尝试时,它不起作用。当我按下回车键时,它会跳转到另一个部分并且不提交表单。这只发生在手机的产品搜索页面上,但在其他页面上,它工作正常。

*当在主页上显示keyCode为13时,我尝试在警报上调试单击的keyCode,但是在产品搜索中没有出现警报keycode

如果你想尝试,只需从我开发的网站测试HERE,然后尝试在桌面 - 手机浏览器中搜索(例如锯)并点击输入

谁能解释为什么会这样?

0 投票
0 回答
113 浏览

django - 使用 HTMX 添加新表行

我正在尝试使用 Htmx 添加一个新的表格行。通过单击“添加新行”按钮,应将新行添加到表中。我无法将 secondary_hx.html 中的行添加到表中,而是导致三个表单彼此相邻,而没有 or 。任何帮助,将不胜感激。先感谢您。我的代码是这样的:

主.html:

部分/secondary_hx.html:

0 投票
1 回答
50 浏览

htmx - 如何在 HTMX 请求中包含 contenteditable 元素的内容?

我想在 contenteditable 字段/div 更改时发布它的内容。hx-trigger="change"没有触发,但使用hx-trigger="blur"没问题。如何在请求中提交 contenteditable div 的值?

0 投票
0 回答
71 浏览

javascript - 无限滚动后hx-get不触发

在每篇文章中,我都有以下代码:

在第一个分页中,htmx 正在触发,但在无限滚动后,它没有触发(我正在使用 Waypoints Infinite Scroll)。我注意到其他 jquery 在页面 > 1 之后也无法正常工作。

任何帮助,将不胜感激