Forums

Checkbox Group field name in email

Worthk 16 Mar, 2011
I have built more than one V4 form with Checkboxes Groups as elements of the form. Each time, the resulting email shows {input_checkbox_group_0} instead of the selected value(s). For example, I created a test form with the default three-choice checkbox group. After selecting Choice 1 and submitting the form, the email shows Test: {input_checkbox_group_0} instead of Test: Choice 1. What needs to be done so the email shows the chosen value?

Thanks,
Worth
GreyHead 16 Mar, 2011
Hi Worth,

I've dug around and found the answer - not sure it's a very satisfactory one though.

In CFv4 Max has changed the syntax a little for array results.

To use {input_checkbox_group_1} to get all the results you need to drag over a Handle Arrays Action to run before the Email. This is the same behaviour as before.

If you don't use Handle Arrays then you can get individual results loaded into the email by using separate place-holders like
{input_checkbox_group_1.0}
{input_checkbox_group_1.1}
{input_checkbox_group_1.2}
There's a problem with this in that there is no way at present of knowing how many results are submitted and so un-used placeholders will remain in the template. That is - in the example here - if only one box is checked then you will get this result

some value
{input_checkbox_group_1.1}
{input_checkbox_group_1.2}


Bob
Worthk 16 Mar, 2011
Thanks, Bob
Since the email is just for me, I can live with the individual designations for now. However, how can I go back and edit the form (I built it using the Easy Form Wizard) to include the Handle Array Action since the Edit Wizard doesn't include any way to add actions? The production form is quite large and I don't want to have to re-create it.

Thanks,
Worth
GreyHead 16 Mar, 2011
Hi Worth,

Hmmm . . . go to PHpMyAdmin, back up the jos_chronoforms table then open it and browse to the entry for this form. Click edit and look for the entry in the params column - it should read form_mode=easy

Change this to form_mode=advanced and save the table. All being well your form will now use the Advanced Wizard.

I have no idea if this is reversible - probably not.

Bob
Max_admin 17 Mar, 2011
Hi,

Changing wizard modes will reset the actions/events, so please pay attention to that.

Regarding the array values, sometimes we would need the array values to stay as its then convert it at a later stage, couldn't find a better way to do this without the handle arrays action, the new dot "." method to get array keys values is primarily for arrays with named keys not numbered ones, for the situation we have here, all what I can think of is to add a hidden field with value = "" with each generated checkbox so that there will always be a key for the checkbox in the returned POST array

Regards,
Max
Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
GreyHead 17 Mar, 2011
Hi Max,

Maybe there's another possible way round this particular problem - a clean-up action to remove any remaining {xxx}s left in the page after the curly replacer has finished??

Bob
br3n7 23 Mar, 2011
I was having the same problem, I had setup a form using checkbox-group with the wizard in easy mode.
I changed the form, in the general tab, from the easy wizard to advanced; reopened the form in the wizard (which came up in advanced wizard with no issues) and added the handle_array action. Everything worked out fine, perfectly in fact!! The selected items where posted to the database (and email) as comma delimited values.

BTW all the actions (captcha loop, emails, db save etc) made the moved from easy to advanced perfectly (including all the parameters) i.e. i didn't have to do anything else - 'cept remove some extraneous actions.

BTW I'm a first time user of chrono forms. I did download and install V3 but preferred V4's clean interference and modular framework. Look forward for more updates.😛

Have some n00b questions, which don't seem to be posted on the forum yet, so will open another thread for them.
Thanks CF team!!
GreyHead 23 Mar, 2011
Hu br3n7,

Great to hear that worked for you, thank you for letting us know.

Bob
RoJa 15 Jun, 2011

To use {input_checkbox_group_1} to get all the results you need to drag over a Handle Arrays Action to run before the Email. This is the same behaviour as before.


Could you describe it more detail ?

I don't want to see in email

{input_checkbox_group_46.0}, check1, {input_checkbox_group_46.2}, check3

I want to see something like this:

check1, check3


P.S. Chronoforms v.4 RC1.8 with Joomla 1.6
GreyHead 15 Jun, 2011
Hi RoJa,

I'm not sure that there is any more detail to give.

Bob
RoJa 15 Jun, 2011
I understand !!!
for others:
change easy mode to the advanced mode, tab "Action". Your need to add action "Handle array" before email's action but after submit.
In email add {input_checkbox_group_46} (in my case).
This topic is locked and no more replies can be posted.