|
using AngleSharp.DOM.Collections;
using System;
namespace AngleSharp.DOM.Html
{
/// <summary>
/// Represents the base class for all HTML form control elements.
/// </summary>
public abstract class HTMLFormControlElement : HTMLElement, ILabelabelElement
{
#region Members
NodeList labels;
#endregion
#region ctor
internal HTMLFormControlElement()
{
labels = new NodeList();
}
#endregion
#region Properties
/// <summary>
/// Gets if labels are supported.
/// </summary>
public Boolean SupportsLabels
{
get;
private set;
}
/// <summary>
/// Gets the list of assigned labels.
/// </summary>
public NodeList Labels
{
get { return labels; }
}
#endregion
#region Internal methods
/// <summary>
/// Gets the assigned form if any (use only on selected elements).
/// </summary>
/// <returns>The parent form OR assigned form if any.</returns>
protected HTMLFormElement GetAssignedForm()
{
var par = _parent;
while (!(par is HTMLFormElement))
{
if (par == null)
break;
par = par.ParentElement;
}
if (par == null && _owner == null)
return null;
else if (par == null)
{
var formid = GetAttribute("form");
if (par == null && !string.IsNullOrEmpty(formid))
par = _owner.GetElementById(formid);
else
return null;
}
return par as HTMLFormElement;
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Florian lives in Munich, Germany. He started his programming career with Perl. After programming C/C++ for some years he discovered his favorite programming language C#. He did work at Siemens as a programmer until he decided to study Physics.
During his studies he worked as an IT consultant for various companies. After graduating with a PhD in theoretical particle Physics he is working as a senior technical consultant in the field of home automation and IoT.
Florian has been giving lectures in C#, HTML5 with CSS3 and JavaScript, software design, and other topics. He is regularly giving talks at user groups, conferences, and companies. He is actively contributing to open-source projects. Florian is the maintainer of AngleSharp, a completely managed browser engine.