FIX: Generate Form::FormName() through

This commit is contained in:
Will Rossiter 2013-05-30 21:06:41 +12:00
parent 5acf2aab94
commit c7468caeb6
2 changed files with 19 additions and 10 deletions

View File

@ -928,11 +928,7 @@ class Form extends RequestHandler {
* @return string
*/
public function FormName() {
if($this->htmlID) {
return $this->htmlID;
} else {
return $this->class . '_' . str_replace(array('.', '/'), '', $this->name);
}
return $this->getTemplateHelper()->generateFormID($this);
}
/**

View File

@ -41,7 +41,9 @@ class FormTemplateHelper {
return Convert::raw2htmlid($id);
}
return Convert::raw2htmlid($form->FormName());
return Convert::raw2htmlid(
get_class($form) . '_' . str_replace(array('.', '/'), '', $form->getName())
);
}
/**
@ -63,7 +65,7 @@ class FormTemplateHelper {
public function generateFieldID($field) {
if($form = $field->getForm()) {
return sprintf("%s_%s",
$form->getHTMLID(),
$this->generateFormID($form),
Convert::raw2htmlid($field->getName())
);
}
@ -93,7 +95,10 @@ class FormTemplateHelper_Pre32 extends FormTemplateHelper {
return $id;
}
return $form->class . '_' . str_replace(array('.', '/'), '', $form->getName());
return sprintf("%s_%s",
$form->class,
str_replace(array('.', '/'), '', $form->getName())
);
}
/**
@ -111,10 +116,18 @@ class FormTemplateHelper_Pre32 extends FormTemplateHelper {
* @return string
*/
public function generateFieldID($field) {
$name = preg_replace('/(^-)|(-$)/', '', preg_replace('/[^A-Za-z0-9_-]+/', '-', $field->getName()));
$name = preg_replace(
'/(^-)|(-$)/', '',
preg_replace('/[^A-Za-z0-9_-]+/', '-', $field->getName())
);
if($form = $field->getForm()) {
return $form->FormName() . '_' . $name;
$form = sprintf("%s_%s",
get_class($form),
str_replace(array('.', '/'), '', $form->getName())
);
return $form . '_' . $name;
}
return $name;