Solved

If drop down box is empty hide.

Posted on 2004-04-14
5
407 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 500 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

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Summernote required 3 142
SQL to update characters in table column 6 128
Recordset containing single quotes 8 36
Passing Parameter to Stored Procedure 4 24
Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28634665.html and http://www.experts-exchange.com/Programming/…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

821 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