Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

If drop down box is empty hide.

Posted on 2004-04-14
5
Medium Priority
?
415 Views
Last Modified: 2012-06-27
I am using the code below to fill a select box  but if I have no values I would like the select box to not show.  I would also like the submit button (Next) to hide as well.  How do I do this?



      '*****************************************************************
      '* Step 2: Get the Store the User would like to view
      '*****************************************************************

ElseIf Request.Form("FormAction") = "Step2" Then



      %>

      <form action="ar_home_documents.asp" method="post" name="frmDisplay">
      <input type="hidden" name="FormAction" value="Step3">
      <input type="hidden" name="txtDivisionName2" value="<%=Request.Form("txtdivision2")%>">
      <input type="hidden" name="txtFirstFolderName" value="<%=Request.Form("Folders")%>">
      <% response.write "<font color='Black'><STRONG><EM>Select Subject: </font></EM></font></STRONG><BR>"

            Dim strFolder
            Set strFolder = Request.Form("Folders")
            set txtFirstFolderName = strFolder
            'Response.Write "txtDivisionName = " & strfolder & ""
            
                                          objPath = Server.MapPath("AR_documentation/" & strFolder)
                                          Set objFSO = CreateObject("Scripting.filesystemObject")
                                          Set objfolder1 = objFSO.Getfolder(objPath)
                                          Set objFolder2 = objfolder1.Subfolders
                                          selectbox="<select name=folders2>"
                                                For Each f1 in objFolder2
                                                selectbox=selectbox & "<option>" & f1.name
                                                Next
                                          selectbox=selectbox &"</select>"
                                          response.write selectbox
                                          set objfolder1=Nothing
                                          set objFSO = Nothing
                                          set objFolder2 = nothing
                                          

                  dim objPath2, fso, folder
                  'Set fso = Server.CreateObject("Scripting.FileSystemObject")
                  objPath2 = Server.MapPath("AR_documentation\" & strFolder)
                  Set FSO = CreateObject("Scripting.filesystemObject")
                  Set folder = FSO.Getfolder(objPath2)
                  'This works for the C Drive.
                  'Set folder = fso.GetFolder("C:\Inetpub\wwwroot\aresearch\AR_documentation\" & strFolder & "")

      %>
      <INPUT name=btnSubmit type=submit value="  Next >">
      <%
      
      
      
      Response.Write "<BR>"
      Response.Write "<BR>"
      Response.Write "<BR>"

      response.write "<STRONG><EM><font color='Black'>Select File: </EM></STRONG></font><br>"
      %>
      <SELECT id=select1 name=select1 onChange="javascript:window.open(this.value,'groovywindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,height=' + WinHeight + 'width=' + WinWidth + 'copyhistory=no')">
0
Comment
Question by:flfmmqp
5 Comments
 
LVL 11

Accepted Solution

by:
Slimshaneey earned 2000 total points
ID: 10825427
Add a variable to say that there are variables in the loop like this:

objPath = Server.MapPath("AR_documentation/" & strFolder)
                                   Set objFSO = CreateObject("Scripting.filesystemObject")
                                   Set objfolder1 = objFSO.Getfolder(objPath)
                                   Set objFolder2 = objfolder1.Subfolders
                                   selectbox="<select name=folders2>"
Dim HasVals
HasVals = False
                                        For Each f1 in objFolder2
                                        selectbox=selectbox & "<option>" & f1.name
                                           HasVals = True
                                        Next
                                   selectbox=selectbox &"</select>"
                                   response.write selectbox
                                   set objfolder1=Nothing
                                   set objFSO = Nothing
                                   set objFolder2 = nothing

Then check the value when writing the select and the submit:

<%
If HasVals then
%>
<SELECT id=select1 name=select1 onChange="javascript:window.open(this.value,'groovywindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,height=' + WinHeight + 'width=' + WinWidth + 'copyhistory=no')">

<%End if%>
0
 
LVL 3

Expert Comment

by:jmaddalone
ID: 10825455
  '*****************************************************************
     '* Step 2: Get the Store the User would like to view
     '*****************************************************************

ElseIf Request.Form("FormAction") = "Step2" Then



     %>

     <form action="ar_home_documents.asp" method="post" name="frmDisplay">
     <input type="hidden" name="FormAction" value="Step3">
     <input type="hidden" name="txtDivisionName2" value="<%=Request.Form("txtdivision2")%>">
     <input type="hidden" name="txtFirstFolderName" value="<%=Request.Form("Folders")%>">
     <% response.write "<font color='Black'><STRONG><EM>Select Subject: </font></EM></font></STRONG><BR>"

          Dim strFolder
         
         '******************
          Dim selectbox
          selectbox = ""
          '******************
         
         Set strFolder = Request.Form("Folders")
          set txtFirstFolderName = strFolder
          'Response.Write "txtDivisionName = " & strfolder & ""
         
                                   objPath = Server.MapPath("AR_documentation/" & strFolder)
                                   Set objFSO = CreateObject("Scripting.filesystemObject")
                                   Set objfolder1 = objFSO.Getfolder(objPath)
                                   Set objFolder2 = objfolder1.Subfolders
                                   selectbox="<select name=folders2>"
                                        For Each f1 in objFolder2
                                        selectbox=selectbox & "<option>" & f1.name
                                        Next
                                   selectbox=selectbox &"</select>"
                                   set objfolder1=Nothing
                                   set objFSO = Nothing
                                   set objFolder2 = nothing
                                   

               dim objPath2, fso, folder
               'Set fso = Server.CreateObject("Scripting.FileSystemObject")
               objPath2 = Server.MapPath("AR_documentation\" & strFolder)
               Set FSO = CreateObject("Scripting.filesystemObject")
               Set folder = FSO.Getfolder(objPath2)
               'This works for the C Drive.
               'Set folder = fso.GetFolder("C:\Inetpub\wwwroot\aresearch\AR_documentation\" & strFolder & "")
            
            '******************
            if  selectbox <> "" then
                  response.write selectbox
                 %>
                 <INPUT name=btnSubmit type=submit value="  Next >">
                 <%
             end if
            '******************    
     
     
     Response.Write "<BR>"
     Response.Write "<BR>"
     Response.Write "<BR>"

     response.write "<STRONG><EM><font color='Black'>Select File: </EM></STRONG></font><br>"
     %>
     <SELECT id=select1 name=select1 onChange="javascript:window.open(this.value,'groovywindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,height=' + WinHeight + 'width=' + WinWidth + 'copyhistory=no')">
0
 
LVL 7

Expert Comment

by:ramesh12
ID: 10825466
Use a simple counter and if the counter value is set then write the selest otherwise leave it llike this

dim counter
counter=0
                                        For Each f1 in objFolder2
                                        counter=counter+1
                                        selectbox=selectbox & "<option>" & f1.name
                                        Next


if counter>0 then
response.write selectbox
end if


and then with submit button use respose.write  after this

               Set FSO = CreateObject("Scripting.filesystemObject")
               Set folder = FSO.Getfolder(objPath2)
               'This works for the C Drive.
               'Set folder = fso.GetFolder("C:\Inetpub\wwwroot\aresearch\AR_documentation\" & strFolder & "")

like this

if counter>0 then
response.write "<INPUT name=btnSubmit type=submit value='  Next >'>"
end if

0
 
LVL 11

Expert Comment

by:Slimshaneey
ID: 10825490
FOllowing on from the earlier comment, you can hide the submit also like this:
If HasVals then
  %>
     <INPUT name=btnSubmit type=submit value="  Next >">
     <%
End if
     
0
 

Author Comment

by:flfmmqp
ID: 10825587
Some times the answer is so simple you just have a hard time figuring it out in your own code mess.  Thanks for the help.
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

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

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:   The Exchange of informatio…
Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
this video summaries big data hadoop online training demo (http://onlineitguru.com/big-data-hadoop-online-training-placement.html) , and covers basics in big data hadoop .
Suggested Courses

927 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