SilverStripe将锚点附加到表单提交的URL

时间:2014-05-27 08:03:33

标签: forms silverstripe

我的控制器中有一个常规的silverstripe Form()方法。它按照正常的做事方式提交给Submit()方法。

在页面上,表单位于选项卡中,默认情况下不显示。

是否可以将锚点附加到表单提交的URL,以便在验证失败时显示表单选项卡?

我试图通过添加:

来做到这一点
 $form->setFormAction($this->Link(). "/Submit#location-enquiry");

然而,在执行此操作时,表单似乎没有转到Submit()方法。检查chrome工具中发生了什么,它只是发布到:

example/page/Submit  

..附加锚

我如何附加锚并仍然处理表单?

1 个答案:

答案 0 :(得分:1)

您可以设置是否应将表单重定向回表单名称的哈希验证错误

//false by default
$form->setRedirectToFormOnValidationError(true);

将在错误重定向中附加表单的名称:

return Director::redirect($pageURL . '#' . $this->FormName());

如果表单没有任何错误,您可以轻松地在处理方法中执行相同操作。

相关问题