Solved

Hiding/Unhiding HTML objects with VBScript

Posted on 2009-07-07
8
677 Views
Last Modified: 2012-05-07
Hello,

I'm trying to hide/unhide certain objects based on a condition.  My hiding works, but my unhiding doesn't, can anyone see why?

I've successfuly tested my conditions and element names.  The only thing that fails is .visibility = "visable"
<script language="VBScript">
 

'hideCondition = "True" or "False"
 

If hideCondition = "True" Then
 

frm.elements("cboF" & fID & "V" & vID).style.visibility = "hidden" 'WORKS
 

Else

frm.elements("cboF" & fID & "V" & vID).style.visibility = "visible" 'DOESN'T WORK
 

end If
 

</script>

Open in new window

0
Comment
Question by:APD_Toronto
  • 4
  • 3
8 Comments
 
LVL 12

Expert Comment

by:Chad Haney
ID: 24797600
Seems like it is not an issue with the visibility code you have.  Just double checked to make sure that is the correct VBscript format.

Your hideCondition looks like it must not ever be evaluating to false.

Here is the example code I used to test it.
<html>

<head>
 

</head>

<body>

<form>

<input type="text" id="cboF1" name="cboF1" value="1"/>

<input type="text" id="cboF2" name="cboF2" value="2"/>

</form>

<script language="VBScript">

 

set el =document.getElementById("cboF1")

el.style.visibility = "hidden"

el.style.visibility = "visible"

set el =document.getElementById("cboF2")

el.style.visibility = "hidden"
 

</script>

</body>

</html>

Open in new window

0
 

Author Comment

by:APD_Toronto
ID: 24797700
No, I thought the same thing, that my False condition is not being reached, but I have a msgbox() in both conditions, and they are firing.
I am including my entire script, it may be little had to get the whole picture, but I think the key point is that both message boxes are popping up.
 

		<script language="VBScript">

		

			fCount = CInt(frm.elements("txtFCount").value)

			strFIDs = frm.elements("txtFIDs").value

					

		

			For f = 1 To fCount

				fID = Left(strFIDs, InStr(1, strFIDs, ",") - 1)

				strFIDs = Mid(strFIDs, Instr(1, strFIDs, ",") + 1, Len(strFIDs) - Instr(1, strFIDs, ",") + 1) 

				

				v=0

				

				depStatus = frm.elements("txtFStat" & fID).value

				'msgbox("stat=" & depStatus)

				If depStatus = "True" Then 

			

					vCount = CInt(frm.elements("txtVCount").value)

					strVIDs = frm.elements("txtVIDs").value	

					For v = 1 To vCount

						vID = Left(strVIDs, InStr(1, strVIDs, ",") - 1)

						strVIDs = Mid(strVIDs, Instr(1, strVIDs, ",") + 1, Len(strVIDs) - Instr(1, strVIDs, ",") + 1) 

				

						frm.elements("cboF" & fID & "V" & vID).style.visibility = "hidden"

						msgbox("hidden cboF" & fID & "V" & vID)

					Next 'vendor

					

				ElseIf depStatus = "False" Then 

			

					vCount = CInt(frm.elements("txtVCount").value)

					strVIDs = frm.elements("txtVIDs").value	

					For v = 1 To vCount

						vID = Left(strVIDs, InStr(1, strVIDs, ",") - 1)

						strVIDs = Mid(strVIDs, Instr(1, strVIDs, ",") + 1, Len(strVIDs) - Instr(1, strVIDs, ",") + 1) 

						

						el = frm.elements("cboF" & fID & "V" & vID)

						el.style.visibility = "visible"

						msgbox("visible cboF" & fID & "V" & vID)

					Next 'vendor

					

				End If

			

			Next 'flight

</script>

Open in new window

0
 

Author Comment

by:APD_Toronto
ID: 24825743
The correct syntax was:
frm.elements("cboF" & fID & "V" & vID).style.display = "none"
 
 

frm.elements("cboF" & fID & "V" & vID).style.display = "block"

Open in new window

0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 12

Expert Comment

by:Chad Haney
ID: 24826486
display is actually a different css attirbute than visibility.  VBscript is able to adjust both attributes.

Display none will remove the placement of the item, visibility will hide the item, but the space is still reserved.
0
 

Author Comment

by:APD_Toronto
ID: 24826584
The bottom line is that visibility failed to work
0
 
LVL 12

Accepted Solution

by:
Chad Haney earned 500 total points
ID: 24826798
What browser is it failing on?  If it's anything except for IE you want it used for I would recommend changing over to javascript.

The code snippet I have above demonstrates it being functional on IE, hiding both then showing the first only.
0
 

Author Closing Comment

by:APD_Toronto
ID: 31600748
I awarded you points.  Happy?
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Use these top 10 tips to master the art of email signature design. Create an email signature design that will easily wow recipients, promote your brand and highlight your professionalism.
This article explains how to prepare an HTML email signature template file containing dynamic placeholders for users' Azure AD data. Furthermore, it explains how to use this file to remotely set up a department-wide email signature policy in Office …
In this tutorial viewers will learn how to style elements, such a divs, with a "drop shadow" effect using the CSS box-shadow property Start with a normal styled element, such as a div.: In the element's style, type the box shadow property: "box-shad…
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now