我在Drupal 7中实现自定义表单验证 - hook_FORM_ID_form_alter(),通过设置一个简单的回调函数,如下所示:
$form['#submit'][]= 'mymodule_myformid_submission_submit';
在提交函数中,我自己进行表单验证,并且基于此操作,我想在原始页面中执行JavaScript函数,我在其中重定向(使用header('Location: ...')
或{{1}两者都很好)。
我已经通过使用:
$form_state['redirect'];
我唯一的问题是我在页面顶部有一个小的空条纹,对应于Drupal消息区域(虽然我使用完全自定义的主题只有内容区域+面板),我可以采取在JS函数结束时执行unset($_SESSION['messages']);
drupal_set_message("<script>aftersubmit();</script>");
。但重新加载需要1秒。
我试图使用echo,但是不起作用(我知道为什么)。
我确信使用location.reload(true);
发送JS代码的方式不合适。我该怎么办? (不想使用Ajax,因为我刚开始学习Drupal)
感谢