unpoly - 条件单模态对话框关闭
问题描述
我在页面上有一个项目列表和一个带有属性 [up-modal] 的链接,该链接指向带有用于将新项目添加到列表中的表单的页面。该表单在模式对话框中打开并具有 [up-target] 属性,因此它是由 Ajax 在 unpoly 的帮助下提交的。
我不知道如何关闭对话框并更新基础页面上的项目列表,以防表单提交时没有错误并且服务器端出现错误我希望对话框保持打开并显示有错误的表格。
如果我将属性 [up-sticky] 添加到打开模式对话框的链接中,正确提交的表单的结果会出现在模式对话框中,而不是放在页面上。
如果没有 [up-sticky] 属性,提交后有错误的表单将替换底层页面。
那么如何做到这一点呢?
解决方案
我假设你有一条路线/page-with-list
和一条路线/modal-form
。
在/page-with-list
你有一个<div class="list">...</div>
.
在/modal-form
我会这样写<form>
:
<form action="/process-modal-form" up-target=".list" up-layer="page" up-fail-layer="modal">
..
</form>
如果表单成功,这应该.list
在页面层中替换,但如果失败,则在模式层中替换表单。在表单中,Unpoly 会自动设置up-fail-target
与表单匹配的属性。
推荐阅读
- python - 如果两个dfs之间的行值相同,则比较两个熊猫数据帧并写入新数据帧
- python - 如何更改 distutils 的输出目录?
- gson - Gson 序列化无法使其正常工作
- c# - 不等待任务包装同步过程
- ruby-on-rails - 为支持 Turbolinks 的 Rails 5 应用程序的一部分手动管理浏览器历史记录
- shell - 用文件中的shell脚本替换字符
- kubernetes - 内部服务的自定义 URL 名称
- c - C中的十进制到二进制转换
- purescript - 如何在纯脚本中使用镜头在 ADT 之间进行转换?
- git - 将 git repo 与子模块合并到 master