• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 518
  • Last Modified:

Checkbox to display image

I have a contact app I need to make and wanted to be able to select the "prefered method" of contact for a person. For example, I have fields for work phone, cell phone, home phone, alternate phone. I wanted the admin assistant to check a box for the "prefered" contact and then display a gold star image by that phone number.  I did not want to display a value for the checkbox, just that if it is checked, then display star, if not, display nothing.

I am finding that when I create a checkbox with no value, when I go to check the box, the checkmark disappears after I exit the field.

Is there a way to set the checkbox to no value and just display a box to check?
Checkbox-Question.gif
0
kali958
Asked:
kali958
  • 3
  • 3
  • 2
2 Solutions
 
doninjaCommented:
You can't make the check box have no value but what you can do is set it to something like . (Dot) and then make the text colour of the box the same as the background colour.

The check box itself will keep default system colours only the text will disspapear. You then have a value to test for in hide formulas etc
0
 
Bill-HansonCommented:
That is a good workaround.

Another option is to use no choices for the checkbox, but code an onChange event handler that maintains the actual fields that control whether the image is displayed.  If you code onChange, make sure you also enable the field's 'Run Exiting/OnChange events after value change'.
0
 
kali958Author Commented:
@doninja - that is a "workaround" but when I put in a "dot" or the letter "y" and make the text white, it throws off the alignment of the field and then also shows a box after the checkmark. (See Image).

@Bill - I am willing to try the OnChange, but I am assuming I would have to LotusScript that. So write something that would say "If this box is clicked/checked, then display the gold star, if not, do not display image?"
Would this still retain the checkmark in the checkbox field?
 Example of how it displays per first suggestion
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
doninjaCommented:
do get a slight box when selecting the box and the alignment can be cured with div or put the box and image in their own table cells.

Bill's solution is a good coded solution rather than my simple workround.

Most people don't even notice the slight box on the page's I have done as they are clicking through it. This can work for users using web browser access as well with no major changes.
0
 
kali958Author Commented:
@doninja - what do you mean by "cured with div" (I get what you mean about cells)
 This is also only for client users, company does not use web :(
0
 
Bill-HansonCommented:
RE: So write something that would say "If this box is clicked/checked, then display the gold star, if not, do not display image?"

Notes forms don't work like that.  Instead, you would have a hidden field for each image.  The fields would initially be blank.  When the user clicks on a checkbox, the code would loop through the hidden fields, setting all to blank except the one that controls the image for that field, which would be set to "1".  Then, the hide-when formula behind the image would simply check the controlling hidden field for the value "1".

RE: Would this still retain the checkmark in the checkbox field?

No
0
 
Bill-HansonCommented:
Here's the basic idea behind the coding.  You would need to parameterize this and make the hidden field names fit your specific need.  For example, this code uses a set of hidden fields named 'hiddenField1', 'hiddenField2', 'hiddenField3', etc, but you can use any names you want.  Also, this code is hard coded to always set 'hiddenField1', so you will need to add you own parameters.
Sub Onchange(Source As Field)
	Dim ws As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	Dim doc As NotesDocument
	Dim index As Integer
	Set uidoc = ws.CurrentDocument
	Set doc = uidoc.Document
	For index = 1 To 10
		If (index = 1) Then
			doc.ReplaceItemValue "hiddenField" + Cstr(index), "1"
		Else
			doc.ReplaceItemValue "hiddenField" + Cstr(index), ""
		End If
	Next
	uidoc.Refresh
End Sub

Open in new window

0
 
kali958Author Commented:
Both will work. I am going to try the coded solution but I am running out of time on this project so may need to go to the first solution.

Thank you both for taking the time to help me understand the solution.
0

Featured Post

[Webinar On Demand] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

  • 3
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now