HTMLInputElement
Represents an HTML input element.
namespace AngleSharp.DOM.Html
{
[DOM("HTMLInputElement")]
public sealed class HTMLInputElement : HTMLTextFormControlElement
{
public enum InputType : ushort
{
Hidden,
Text,
Search,
Tel,
Url,
Email,
Password,
Datetime,
Date,
Month,
Week,
Time,
Number,
Range,
Color,
Checkbox,
Radio,
File,
Submit,
Image,
Reset,
Button
}
internal const string Tag = "input";
[DOM("name")]
public string Name {
get {
return GetAttribute("name");
}
set {
SetAttribute("name", value);
}
}
[DOM("form")]
public HTMLFormElement Form {
get {
return GetAssignedForm();
}
}
[DOM("checked")]
public bool Checked {
get {
return GetAttribute("checked") != null;
}
set {
SetAttribute("checked", value ? string.Empty : null);
}
}
[DOM("disabled")]
public bool Disabled {
get {
return GetAttribute("disabled") != null;
}
set {
SetAttribute("disabled", value ? string.Empty : null);
}
}
[DOM("type")]
public InputType Type {
get {
return Element.ToEnum(GetAttribute("type"), InputType.Text);
}
set {
SetAttribute("type", value.ToString());
}
}
[DOM("required")]
public bool Required {
get {
return GetAttribute("required") != null;
}
set {
SetAttribute("required", value ? string.Empty : null);
}
}
[DOM("readonly")]
public bool Readonly {
get {
return GetAttribute("readonly") != null;
}
set {
SetAttribute("readonly", value ? string.Empty : null);
}
}
[DOM("indeterminate")]
public bool Indeterminate { get; set; }
internal bool IsVisited { get; set; }
internal bool IsActive { get; set; }
internal bool IsMutable {
get {
if (!Disabled)
return !Readonly;
return false;
}
}
protected internal override bool IsSpecial => true;
internal HTMLInputElement()
{
_name = "input";
}
}
}