Thanks again, Benjamin, for responding the other day. I just tried your solution and it works...up to a point.
The label appears and disappears from the field as it should. When I test the form, the information passes great.
The only issue now is with validation. It is a required field and if I don't add anything in there and press submit, that field doesn't get flagged as not having anything entered. In addition, it re-enters the label twice within the field, like this: "First NameFirst Name". At that point, if I click within the field, the label doesn't go away. It acts as if it was an entry I typed it.
So, getting close but needs tweaking. Here is how the code looks at this point:
[[!FormIt?
&hooks=`spam,FormSave,email,emailUser,redirect`
&emailSubject=`Submission from The XXXXXX Contact Form`
&emailTpl=`EmailChunk`
&emailTo=`[email protected]`
&redirectTo=`1`
&fsFormTopic=`Contact`
&fsFormFields=`firstName,lastName,email,telephone,street,cityTown,state,zipcode,country,text`
&validate=`firstName:required,
lastName:required,
telephone:required,
email:required`
]]
[[!+fi.error.error_message:notempty=`
<p>[[!+fi.error.error_message]]</p>
`]][[!+fi.error.rampart]]
<input name="nospam:blank" type="hidden" />
<label for="First Name"><span class="error">[[+fi.error.firstName]]</span></label>
<input name="firstName" type="text" class="footer_form_first_name" onfocus="if (this.value=='First Name') this.value = ''" onblur="if (this.value=='') this.value = 'First Name'" value="[[+fi.firstName]]First Name">
...etc...