MICinput is analogous to the standard HTML <input ...> tag. The size of the input field created, its default value (if any) and other attributes are defined earlier in MICdefine.
MICinput is used to create input fields on forms for MIC defined values. It must only be used within the <form...> tags which have the optional fieldspace parameter. The name parameter takes a MICdefined name which has (or will be) defined for the MICfieldspace of the current form.
Note that the MICinput does not overwrite the normal <input ...> tag, but is in addition to it. That is, one may freely mix MICinput and input tags and make use of both. Realize, however, that there is no MIC-supported checking and verification for non-MIC input, nor will the data be saved to the database, etc.
Non-MIC fields should be controlled through standard HTML inputs and MIC defined fields should be controlled through MICinputs. A MICinput with a non-MICdefine'd field and a standard HTML input with a MICdefined field are both undefined.4.8
MICinputs handle both static and dynamic fieldspaces. If a dynamic field is requested outside of a MICdynamicdisplay, then the results are undefined. Currently, it is also not permissible to have non-dynamic field within a MICdynamicdisplay since this is almost always the wrong thing to do. This may be supported in future releases, however.
Also, any MICinput will automatically attempt to format the value before displaying it. This means that the data may change form, but not meaning, from one viewing to the next. This may be overidden by the tag no-format=true, or there may be mechanisms within the datatype object. The formatting is not only for viewing purposes; if successful, it will store the canonical form in lieu of the original. If unsuccessful (i.e., unable to canonicalize), the original form will be maintained. This functionality does not provide any error handling on its own. For that, you must specify the proper checks and reporting mechanisms as specified in 4.4.
The optional changeflag attribute takes the name of a Perl variable that will be set to true if the value of the named field ever changes due to end-user action. This variable will be introduced by MIC and will be scoped to the page.
The optional edit_test attribute allows us to test whether we want to do a MICinput or a MICdisplay. If the edit_test is true, then html input is generated for the associated MICdefine value. If the edit_test is false, then the value of the MICdefine is outputted to the user.