htmx中同时定义hx-target与hx-target-error时后者失效问题(Django)
HTMX response-targets扩展问题:同时设置hx-target与hx-target-error时错误目标失效
环境信息
- HTMX 1.9.10
- response-targets 1.9.10
- Python 3.12
- Django 5.0.1
问题现象
在Python Django项目中使用HTMX的response-targets扩展时,当同时为元素定义hx-target和hx-target-error属性时,hx-target-error无法生效;仅保留hx-target-error时,该功能可正常运行。
示例代码
HTML代码
<div hx-ext="response-targets"> <button hx-get="{% url 'appname:endpoint' %}" hx-target-error="#id-fail" hx-target="#id-success" type="submit" > Press Me! </button> </div>
Django视图代码
@login_required def endpoint(request): return HttpResponseNotFound("Not found 404")
已尝试的排查动作
- 测试多种
hx-target目标类型(如"next td"、"next span"等),视图中均可获取有效的request.htmx.target值 - 尝试使用response-targets支持的
hx-target-*、hx-target-404等替代属性,结果无变化 - 确认response-targets扩展安装及使用正确:移除
hx-target后,hx-target-error可正常工作
日志信息
Bad Request: /testbed/endpoint/ 127.0.0.1 - [27/Feb/2024] "GET /testbed/endpoint/ HTTP/1.1" 404
内容的提问来源于stack exchange,提问作者David Manpearl
相关产品推荐
相关产品推荐

