PEAR Manual
Prev |  | Next

# HTML_QuickForm::insertElementBefore()

HTML_QuickForm::insertElementBefore() -- Inserts a new element right before the other element

## Synopsis

    require_once 'HTML/QuickForm.php';

``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():

    $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

Table 41-1. Possible PEAR_Error values

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.

Prev | Home | Next
HTML_QuickForm::getRegisteredTypes() | Up | HTML_QuickForm::isError()