You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MODX FormIt表单提交后自动重定向求助:需保留当前页面

解决FormIt提交表单后自动重定向的问题

先给你揪出代码里一个容易忽略的小错误:表单的闭合标签写成了</from>,得改成</form>——这个拼写失误可能导致浏览器解析表单时出现异常,进而触发意外跳转,先把这个修正了再说。

接下来针对FormIt的配置和逻辑,我们从这几个方向排查解决:

1. 显式设置&redirectTo参数强制留在当前页

虽然你说没设置这个参数,但有时候FormIt可能会继承全局配置或hook的默认行为,显式指定重定向到当前资源能确保页面不跳转:

[[!FormIt? 
    &hooks=`spam,email,FormItSaveForm,successMess` 
    &formName= `Contact Form` 
    &emailTpl=`emailChunkTpl` 
    &emailTo=`email@gmail.com`
    &redirectTo=`[[*id]]`
]]

2. 检查自定义successMess Hook的逻辑

你用到的successMess是自定义hook,这极有可能是重定向的源头!如果这个hook里写了$modx->sendRedirect()这类代码,就会强制跳转页面。打开这个hook的代码,删掉重定向逻辑,改成直接渲染成功消息的逻辑,比如:

// 示例:修改successMess hook,去掉重定向,仅设置成功占位符
$modx->setPlaceholder('success_message', '你的消息已成功发送!');
return true;

3. 确认官方hook没有触发重定向

默认情况下,spam、email、FormItSaveForm这几个官方hook都不会自动触发重定向,但可以检查下email hook的配置,有没有不小心设置了&emailRedirectTo这类参数(不过你代码里没写,大概率不是这个问题)。

4. 清除浏览器缓存测试

有时候浏览器缓存的旧页面或表单状态会导致异常,清除缓存后再测试提交,看看是否还会跳转。

把表单闭合标签修正后,结合上面的配置调整,应该就能解决自动重定向的问题,让表单提交后停留在当前页面了。

内容的提问来源于stack exchange,提问作者Beusebiu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 13:14:08