提交表单后,我使用 Deform 对其进行验证。如果验证失败,我将传回带有验证警告的相同表单,并且它将替换旧表单。这对于 AJAX 来说效果很好,第一次。第一次之后,Deform表单的提交按钮似乎不再绑定(bind)了。
当页面首次加载且deform_loaded === true
时,deform.callbacks 数组为空。但是,表单可以通过 ajax 正确提交。在第二轮之后,deform.callbacks 现在包含 1 个将我的 from 映射到回调的数组。但是,当我现在提交时,不会使用 ajax 并且页面会刷新。
如何才能像原始表单的 submit
一样绑定(bind)更新后的表单的 submit
?
最佳答案
为了使ajax表单正常工作,我必须在渲染表单后添加对deform.processCallbacks方法的调用。我的 mako 模板文件的内容是:
${form | n}
<script type="text/javascript">
deform.processCallbacks();
</script>
因此它首先呈现表单(有或没有错误),然后调用以处理所有表单字段上的回调。回调的处理启用用于提交表单的按钮。至少可以在变形 0.9.5 中使用。
这确实是一篇旧帖子,但不久前我自己也在与变形/ajax 作斗争。我希望这可以帮助其他人。
关于jquery - 使用 ajax 和 jQuery Form 进行变形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825869/