Django 表单提交无需重新加载页面
Posted
技术标签:
【中文标题】Django 表单提交无需重新加载页面【英文标题】:Django form submission without reloading page 【发布时间】:2020-07-29 20:26:57 【问题描述】:我有一个 django 注册表单。如果表单提交无效,页面正在重新加载。如果输入的数据无效,我需要留在同一页面上。 有没有办法在没有 ajax 的情况下完成这项工作? 如果没有,如何用ajax做到这一点
【问题讨论】:
您怎么会知道表单无效?一种可能性是在 JS 中使用客户端表单验证并禁用提交按钮,除非所有字段都正确填写。 嗨,anandu,我不知道是否可以在不使用 ajax 的情况下完成相同的操作。但我在 ajax 中做了类似的事情,如果你愿意,我可以使用用户登录表单与你分享代码 你能分享你的代码吗?提前谢谢 【参考方案1】:如果您想在提交之前验证数据,那么您可以使用纯 javascript 来验证值并更新您的 html 显示输出,如下所示。
考虑下面的表格。
<form>
<input id="target" type="text" value="">
</form>
<div id="other">
Trigger the handler
</div>
使用下面的脚本
<script>
$("#target").keyup(function ()
console.log(this.value);
);
</script>
在上面的脚本中,一旦你获得了值,你就可以编写逻辑来验证它并相应地更新你的结果。
注意:这里的重点是事件处理程序,因为您键入任何调用函数的内容。
显然这可能不是实现这一目标的最佳方式,但可以将其视为演示。
【讨论】:
以上是关于Django 表单提交无需重新加载页面的主要内容,如果未能解决你的问题,请参考以下文章
带有 Bootstrap 模态视图的 Rails 应用程序,包含表单、提交和消失模态视图,无需重新加载页面
Django:jQuery触发表单提交onchange of checkbox并保留重新加载时的值