Been a long day, and I'm sure I'm missing the obvious here but I need some help.
Contact form fields:
$fields = new FieldSet(
new TextField('Name', 'Your Name:'),
new EmailField('Email', 'Your Email:'),
new DropdownField('To', 'To:', $source = array(
'Not Sure',
'Name 1',
'Name 2'
)
),
new TextareaField('Message', 'Message:', '5', '35')
)
In my template, I can produce the fields, but no names/labels for them. The following label shows up blank, but the input is shown. The fields are required, and if you click in the input box and click away without typing anything, I get the error message "Please fill out 'this', it is required." instead of the proper field name, it uses "this". Demo here - http://www.mcgowangroupinc.com/new/contact/
<label for="$FormName_Email">$FormName_Email</label>
$dataFieldByName(Email)
Also, the dropdown field gives the user an option to pick who the email should be sent to. I have this in my doForm() function which sends the email:
if($fields->to == 0){
$email->to = 'email 1';
} elseif ($fields->to == 1) {
$email->to = 'email 2';
} elseif ($fields->to == 2) {
$email->to = 'email 3';
}
No matter which option is picked, it always sends to email 1. I've written the same thing using a switch statement with no luck either. In my email template, the variable $To produces the correct number associated in the drop down.
I'm sure I'm missing something obvious as its been a 12+ hour day.