2
我有一个注册表格:银条纹。 setFormAction导致错误
function SignupForm() {
$fields = new FieldSet(
new TextField("FirstName", "First name"),
new TextField("Surname"),
new EmailField("Email", "Email address")
);
$submitAction = new FieldSet(new FormAction("SignupAction", "Sign up"));
$required = new RequiredFields("Email");
$SignupForm = new Form($this, "SignupForm", $fields, $submitAction, $required);
return $SignupForm;
}
function SignupAction($data, $form) {
$member = new Member();
$form->saveInto($member);
$member->write();
if($group = DataObject::get_one('Group', "ID = $this->defaultGroupID")){
$member->Groups()->add($group);
Director::redirect('thanks-for-registering/');
}else{
Director::redirect('registration-failed/');
}
}
,哪个跑得从主页正常,但是,所以我需要设置表单的动作出现在每一页和子页面的网站上。
我曾尝试添加此:
$SignupForm->setFormAction(Director::baseURL().'home/SignupAction');
之前返回$ SignupForm,我得到以下错误,当我提交表单(从任何地方)
Missing argument 2 for Page_Controller::SignupAction()
function SignupAction($data, $form) {
68
69
70 $member = new Member();
71 $form->saveInto($member);
.....
这到底是怎么回事?
感谢
只是澄清:你有将上面的表单和表单处理程序添加到Page类中,因为您希望在每个页面上都有它,对吗?但是,为什么你要重定向处理程序,反正你应该在每一页上都有这个功能? – xeraa