NAME

HTML::Object::DOM::Element::Button - HTML Object DOM Button Class

SYNOPSIS

use HTML::Object::DOM::Element::Button;
my $button = HTML::Object::DOM::Element::Button->new || 
    die( HTML::Object::DOM::Element::Button->error, "\n" );

VERSION

v0.2.0

DESCRIPTION

This interface provides properties and methods (beyond the regular HTML::Object::Element interface it also has available to it by inheritance) for manipulating <button> elements.

INHERITANCE

+-----------------------+     +---------------------------+     +-------------------------+     +----------------------------+     +------------------------------------+
| HTML::Object::Element | --> | HTML::Object::EventTarget | --> | HTML::Object::DOM::Node | --> | HTML::Object::DOM::Element | --> | HTML::Object::DOM::Element::Button |
+-----------------------+     +---------------------------+     +-------------------------+     +----------------------------+     +------------------------------------+

PROPERTIES

Inherits properties from its parent HTML::Object::DOM::Element

accessKey

Is a string indicating the single-character keyboard key to give access to the button.

See also Mozilla documentation

autofocus

Is a boolean value indicating whether or not the control should have input focus when the page loads, unless the user overrides it, for example by typing in a different control. Only one form-associated element in a document can have this attribute specified.

See also Mozilla documentation

disabled

Is a boolean value indicating whether or not the control is disabled, meaning that it does not accept any clicks.

See also Mozilla documentation

form

Read-only.

Is a HTML::Object::DOM::Element::Form reflecting the form that this button is associated with. If the button is a descendant of a form element, then this property is the object of that form element. If the button is not a descendant of a form element, then the property can be the object of any form element in the same document it is related to, or the undef value if none matches.

See also Mozilla documentation

formAction

Is a string reflecting the URI of a resource that processes information submitted by the button. If specified, this property overrides the action attribute of the <form> element that owns this element.

See also Mozilla documentation

formEnctype

Is a string reflecting the type of content that is used to submit the form to the server. If specified, this property overrides the enctype attribute of the <form> element that owns this element.

See also Mozilla documentation

formMethod

Is a string reflecting the HTTP method that the browser uses to submit the form. If specified, this property overrides the method attribute of the <form> element that owns this element.

See also Mozilla documentation

formNoValidate

Is a boolean value indicating that the form is not to be validated when it is submitted. If specified, this property overrides the novalidate attribute of the <form> element that owns this element.

See also Mozilla documentation

formTarget

Is a string reflecting a name or keyword indicating where to display the response that is received after submitting the form. If specified, this property overrides the target attribute of the <form> element that owns this element.

See also Mozilla documentation

labels

Read-only.

Is a NodeList that represents a list of <label> elements that are labels for this button.

Example:

<label id="label1" for="test">Label 1</label>
<button id="test">Button</button>
<label id="label2" for="test">Label 2</label>

$doc->addEventListener( load => sub
{
    my $button = $doc->getElementById("test");
    for( my $i = 0; $i < $button->labels->length; $i++ )
    {
        say( $button->labels->[$i]->textContent ); # "Label 1" and "Label 2"
    }
});

See also Mozilla documentation

Is a HTML::Object::DOM::Element::Menu representing the menu element to be displayed if the button is clicked and is of type="menu".

Be careful that you cannot use this as an lvalue method. So you can only write:

$button->menu( $menu_object );

See also Mozilla documentation

name

Is a string representing the name of the object when submitted with a form. If specified, it must not be the empty string.

See also Mozilla documentation

tabIndex

Is a long that represents this element's position in the tabbing order.

See also Mozilla documentation

type

Is a string indicating the behavior of the button. This is an enumerated attribute with the following possible values:

submit

The button submits the form. This is the default value if the attribute is not specified, or if it is dynamically changed to an empty or invalid value.

reset

The button resets the form.

button

The button does nothing.

The button displays a menu.

See also Mozilla documentation

validationMessage

Read-only.

Is a string representing the localized message that describes the validation constraints that the control does not satisfy (if any). This attribute is the empty string if the control is not a candidate for constraint validation (willValidate is false), or it satisfies its constraints.

See also Mozilla documentation

validity

Read-only.

Is a ValidityState object representing the validity states that this button is in.

See also Mozilla documentation

value

Is a string representing the current form control value of the button.

See also Mozilla documentation

willValidate

Read-only.

Is a boolean value indicating whether the button is a candidate for constraint validation. It is false if any conditions bar it from constraint validation, including: its type property is reset or button; it has a <datalist> ancestor; or the disabled property is set to true.

See also Mozilla documentation

METHODS

Inherits methods from its parent HTML::Object::DOM::Element

AUTHOR

Jacques Deguest <jack@deguest.jp>

SEE ALSO

Mozilla documentation, Mozilla documentation on button element|https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button>

COPYRIGHT & LICENSE

Copyright(c) 2021 DEGUEST Pte. Ltd.

All rights reserved

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