object &HTML_QuickForm::insertElementBefore (
object &$element
, string $nameAfter
)
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');
?>
&$element
Element to insert (instance of HTML_QuickForm_element)
$nameAfter
Name of the element before which the new one is inserted
return reference to inserted element.
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 |
since 3.2.4
This function can not be called statically.