Submissions are grouped data collections that are submitted by a user to an element. This is for instance done through a form. What differentiates submission from inputs is that they are typically performed after an element has rendered itself for the first time. You always submit back to the element that generated the submission URL.
Submissions are declared like this in your element XML:
<submission name="myname">
<param name="param1"/>
<param name="param2"/>
</submisison>
You can then dynamically check for submissions with the hasSubmission("name") method and obtain the parameters with the getParameter("name") method.
Alternatively it's possible to write doSubmissionName() methods in you element instead. This allows you to make a clear distinction between the first rendering step and the next submission steps in your element's class layout. For instance:
public class MyElement extends Element
{
public void processElement()
{
if (hasSubmission("myname"))
{
}
}
}
can also be written as:
public class MyElement extends Element
{
public void processElement()
{
}
public doMyname()
{
}
}
and you wont have to check for the submission's presence yourself. The doMyname() method will only be executed if the myname submission arrived at the element.