Expand my Community achievements bar.

Link 2 radio button

Avatar

Level 1

I have a form where if one radio button1 is clicked, radio button2 becomes mandatory. It could also be the opposite, if radio button2 is clicked, then radio button1 becomes mandatory. None of them can also be left blank.

5 Replies

Avatar

Level 7

In the layoutReady event of the first radiobuttonlist you put (in formcalc):

if ($.isNull == 0 and RadioButtonList2.isNull) then

    RadioButtonList2.validate.nullTest = "error"

else

    RadioButtonList2.validate.nullTest = "disabled"

endif

and then you would do the same for the second radiobuttonlist just renaming the lists.

Avatar

Level 1

Thanks for your answer, but I put the code in and nothing happens!

It doesn't prompt for RadioButtonList2 and I can still submit the form.

Avatar

Level 2

Radio Buttons are special group of objects.  If your radio button 1 and radio button 2 are in the "same" RadioButtonList then they are set to be a mutually exclusive group therefore one on one off.  Both on and off are valid answers for a RadioButton therefore if set to be required only 1 button is required to be 'on'

This is likely why you can still submit as off is a valid answer as long as one button in the RadioButtonList is 'on'

For a solution, I would suggest ensuring that your radio buttons are in different RadioButtonLists therefore they are not mutually exclusive group and each would have to be on if it was required.

Avatar

Level 1

They are in two different RadioButtonList. There is RadioButtonList1 and RadioButtonList2; and there is a checkbox. If checkbox is clicked, everything is fine and that's it. However, if something is clicked in RadioButtonList1, then RadioButtonList2 becomes mandatory, or vice versa... if any of RadioButtonList2 is clicked, then RadioButtonList1 becomes mandatory.

Avatar

Former Community Member

add a Textfield, delete the caption and make it invisible.  Then put this on the calculate event:

If (RadioButtonList1.rawValue + RadioButtonList2.rawValue >= "1") then

RadioButtonList1.mandatory = "error"

RadioButtonList2.mandatory = "error"

endif

the vales of the radio buttons have to be numeric for this to work though.