在使用Dedecms进行网站开发时,有时我们需要对表单提交后的跳转行为进行自定义设置。例如,当用户提交表单后,我们希望显示“已提交成功,请耐心等待回复”的提示,并且可以指定跳转页面和停留时间。以下是如何实现这一功能的详细步骤。
一、修改提示文字和跳转页面
默认情况下,Dedecms表单提交后会显示“发布成功,请等待管理员处理...”的提示信息,并跳转到网站首页。如果需要修改这些内容,可以按照以下步骤操作:
1. 打开文件 /plus/diy.php。
2. 找到如下代码段(通常位于第117行附近):
if($dsql->ExecuteNoneQuery($query))
{
$id = $dsql->GetLastID();
if($diy->public == 2)
{
//diy.php?action=view&diyid={$diy->diyid}&id=$id
$goto = "diy.php?action=list&diyid={$diy->diyid}";
$bkmsg = '发布成功,现在转向表单列表页...';
}
else
{
$goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/';
$bkmsg = '发布成功,请等待管理员处理...';
}
showmsg($bkmsg, $goto);
}
3. 修改上述代码中的$goto 和 $bkmsg 变量值。例如:
$goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/chenggong.html';
$bkmsg = '您的订单提交成功,请保持手机畅通,我们会在第一时间和您核对订单信息,确认无误后发货';
这样,提交表单后将跳转到/chenggong.html页面,并显示新的提示信息。
二、修改表单提交成功后的跳转停留时间
默认情况下,表单提交成功后的提示信息会停留1秒钟(1000毫秒)。如果觉得时间太短,可以按照以下步骤调整:
1. 打开文件 /include/common.func.php。
2. 找到如下代码段(通常位于第186行附近):
$litime = ($limittime==0 ? 1000 : $limittime);
$func = '';
if($gourl=='-1')
{
if($limittime==0) $litime = 5000;
$gourl = "javascript:history.go(-1);";
}
3. 将$litime = ($limittime==0 ? 1000 : $limittime);中的1000修改为其他值,例如5000(表示5秒)。
注意事项
在修改跳转停留时间时,可能会出现验证码不显示或后台异常的问题。遇到这种情况时,请检查是否有其他插件或代码与修改部分冲突。
通过以上步骤,您可以轻松自定义Dedecms表单提交后的提示信息、跳转页面以及停留时间,从而提升用户体验。