---
name: "HTML::FormFu::Role::Element::Input"
section: "3pm"
platform: "linux"
package: "libhtml-formfu-perl"
version: "2.07000-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/HTML::FormFu::Role::Element::Input"
---

# HTML::FormFu::Role::Element::Input(3pm)

Role for input fields

## NAME

HTML::FormFu::Role::Element::Input - Role for input fields

## VERSION

version 2.07

## DESCRIPTION

Base-class for HTML::FormFu::Element::Button, HTML::FormFu::Element::Checkbox, HTML::FormFu::Element::File, HTML::FormFu::Element::Hidden, HTML::FormFu::Element::Password, HTML::FormFu::Element::Radio, HTML::FormFu::Element::Text.

## METHODS

### datalist\_options

Arguments: none

Arguments: \\@options

Use either "datalist\_options" or "datalist\_values" to generate a HTML5-compatible `"datalist"` group of `"option"` tags. This will be associated with the `"input"` element via a `"list"` attribute on the `"input"` tag.

The `"datalist"` ID attribute **must** be set using either "datalist\_id" or "auto\_datalist\_id".

```
    ---
    elements:
      - type: Text
        name: foo
        options:
          - [ 01, January ]
          - [ 02, February ]
          - [ 03, March ]
          - [ 04, April ]
```

The syntax is similar to "options" in HTML::FormFu::Role::Element::Group, except hash-ref items only accept `"value"` and `"label"` keys (and their variants).

If passed no arguments, it returns an arrayref of the currently set datalist options.

Its arguments must be an array-ref of items. Each item may be an array ref of the form `"[ $value, $label ]"` or a hash-ref of the form `"{ value => $value, label => $label }"`.

When using the hash-ref construct, the `"label_xml"` and `"label_loc"` variants of `"label"` are supported, as are the `"value_xml"` and `"value_loc"` variants of `"value"`.

### datalist\_values

Arguments: \\@values

```
    ---
    elements:
      - type: Radiogroup
        name: foo
        values:
          - jan
          - feb
          - mar
          - apr
```

A more concise alternative to "datalist\_options".

Its arguments must be an array-ref of values. The labels used are the result of `ucfirst($value)`.

### datalist\_id

Arguments: \[$string\]

Sets the `"datalist"` ID attribute, and automatically sets this `"input"` element's `"list"` ID to the same.

Either "datalist\_id" or "auto\_datalist\_id" is required, if either "datalist\_options" or "datalist\_values" are set.

### auto\_datalist\_id

See "auto\_datalist\_id" in HTML::FormFu for details.

## ATTRIBUTE ACCESSORS

Get / set input attributes directly with these methods.

Arguments: \[$string\]

Return Value: `$string`

### alt

### autocomplete

### checked

### maxlength

### pattern

### placeholder

### size

## BOOLEAN ATTRIBUTE ACCESSORS

Arguments: \[$bool\]

Return Value: `$self` Return Value: `$string` Return Value: undef

Get / set boolean XHTML attributes such as `"required="required""`.

If given any true argument, the attribute value will be set equal to the attribute key name. E.g. `"$element->required(1)"` will set the attribute `"required="required""`.

If given a false argument, the attribute key will be deleted.

When used as a setter, the return value is `$self` to allow chaining.

### autofocus

### multiple

### required

## SEE ALSO

Is a sub-class of, and inherits methods from HTML::FormFu::Role::Element::Field, HTML::FormFu::Element

HTML::FormFu

## AUTHOR

Carl Franks, `"cfranks@cpan.org"`

## LICENSE

This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.

## AUTHOR

Carl Franks \<cpan@fireartist.com\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by Carl Franks.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
