HTML_QuickForm::insertElementBefore()
Synopsis
object &HTML_QuickForm::insertElementBefore (
object &$element
, string $nameAfter
)
Description
Inserts a new element right before the other element.
It is not possible to check whether the $element
is already added to the form, therefore if you want to move the existing form
element to a new position, you'll have to use
removeElement():
<?php
$form->insertElementBefore($form->removeElement('foo', false), 'bar');
?>
Parameter
- object
&$element
-
Element to insert (instance of HTML_QuickForm_element)
- string
$nameAfter
-
Name of the element before which the new one is inserted
Return value
return reference to inserted element.
Throws
Error code | Error message | Reason | Solution |
---|---|---|---|
QUICKFORM_INVALID_ELEMENT_NAME | Several elements named $nameAfter exist in HTML_QuickForm::insertElementBefore() |
Several elements named $nameAfter (e.g.: radios) exist in the form. The method does not handle this case. |
Insert before some other element. Consider adding a dummy element with a unique name. |
QUICKFORM_INVALID_ELEMENT_NAME | Element '$elementName' already exists in HTML_QuickForm::insertElementBefore() | Element exists with the same name as $element but of different type |
Give some other name to the inserted element. |
QUICKFORM_NONEXIST_ELEMENT | Element $nameAfter does not exist in HTML_QuickForm::insertElementBefore() |
Tried to insert before a non-existant element | Check the element's name spelling |
Note
since 3.2.4
This function can not be called statically.