?
Solved

ASP form can't get rid of pulldown

Posted on 2006-04-24
7
Medium Priority
?
196 Views
Last Modified: 2010-04-06
I have an asp form with javascript. I changed the last field "city" to be check boces instead of a pulldown.

It works but the empty pulldown for "city" remains. If I take it out of the code, nothing works.

Here is the code.

<%@ Language = VBScript %>
<%Option Explicit%>
<%Response.Buffer = True%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
<%
dim  strDataPath, strConnectString, objConnection, strCountry, strRegion, strCity, objRS, strSelected

strCountry = Request.Form("Country")
strRegion = Request.Form("Region")
strCity = Request.Form("City")


'set connection strings for entire application
'strDataPath = server.MapPath("NorthWind.mdb")
strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0; DATA SOURCE= "& Server.MapPath("fpdb\ptdb\northwind.mdb")

if not IsObject("ojbConnection") then
      set objConnection=Server.CreateObject("ADODB.Connection")
      objConnection.ConnectionTimeout = 15
      objConnection.CommandTimeout =  10
      objConnection.Mode = 3 'adModeReadWrite
      if objConnection.state = 0 then
            objConnection.Open strConnectString
      end if
end if

sub makeCountry()
      if not isObject("objRS") then
            set objRS=Server.CreateObject("ADODB.RecordSet")
      end if
      if objRS.state <> 0 then
            objRS.close
      end if
      objRS.Open "SELECT DISTINCT Country  FROM Customers ORDER BY Country",objConnection,3,3
      Response.Write("<option></option>" & VBCRLF )
      do while not objRS.EOF
            if objRS("Country") = strCountry then
                  strSelected = " Selected "
            else
                  strSelected = ""
            end if
            Response.Write("<option" & strSelected & ">" & objRS("Country") & "</option>" & VBCRLF )
            objRS.MoveNext
      loop
      objRS.Close
      set objRS=Nothing
end sub

sub makeRegion()
      if strCountry <> "" then
            if not isObject("objRS") then
                  set objRS=Server.CreateObject("ADODB.RecordSet")
            end if
            if objRS.state <> 0 then
                  objRS.close
            end if
            objRS.Open "SELECT DISTINCT Region FROM Customers WHERE Country = '" & strCountry & "' ORDER BY Region",objConnection,3,3
            if objRS.eof then
                  Response.Write("<option>No Regions Found</option>")
            else
                  Response.Write("<option>Select Region Now</option>" & VBCRLF )
                  do while not objRS.EOF
                        if objRS("Region") = strRegion then
                              strSelected = " Selected "
                        else
                              strSelected = ""
                        end if
                        Response.Write("<option" & strSelected & ">" & objRS("Region") & "</option>" & VBCRLF )
                        objRS.MoveNext
                  loop
            end if
            objRS.Close
            set objRS=Nothing
      else
            Response.Write("<option>Select a Country First</option>")
      end if
end sub

sub makeCity()
      
      if strRegion <> "Select a Country First" AND  strRegion <> "Select Region Now" AND strRegion <>"" then
            if not isObject("objRS") then
                  set objRS=Server.CreateObject("ADODB.RecordSet")
            end if
            if objRS.state <> 0 then
                  objRS.close
            end if
            objRS.Open "SELECT DISTINCT City FROM Customers WHERE Region = '" & strRegion & "' ORDER BY City",objConnection,3,3
            if objRS.eof then
                  Response.Write("<option>No Cities Found</option>")
            else
                  Response.Write("<option>Select City Now</option>" & VBCRLF )


      
%>
<div align="center">
  <table border="1" width="18%" id="table1">
  <tr>
    <td width="97">
<%
               do while not objRS.EOF
                    if objRS("City") = strCity then
                         strSelected = " Checked "
                    else
                         strSelected = ""
                    end if
%>
<tr><td><input type=checkbox name=City <%=strSelected%> value="<%=objRS("City")%>"></td>
<td><%=objRS("City")%></td>
</tr>
<%
                    objRS.MoveNext
               loop
          end if%>
          </table>
</div>
<%
          objRS.Close
          set objRS=Nothing
     else
          'Response.Write("<p>Select a Region First</p>")
     end if
end sub
%>

<SCRIPT LANGUAGE=javascript>
<!--

function submitCountry(){
      var objForm = document.forms[0];
      objForm.elements['Region'].selectedIndex=0;
      objForm.elements['City'].selectedIndex = 0;
      objForm.submit();
}
function submitRegion(){
      var objForm = document.forms[0];
      objForm.elements['City'].selectedIndex = 0;
      objForm.submit();
}

function submitForm(){
      var objForm = document.forms[0];
      objForm.action = "http://www.FairfieldConsulting.com/processform.asp"
      return true;
}
//-->
</SCRIPT>

</HEAD>
<BODY>
<FORM action="" method=POST id=form1 name=form1 onSubmit="return submitForm()">
<SELECT  name="Country" onChange="submitCountry()">
      <%call  makeCountry%>
</SELECT><br>
<SELECT  name="Region" onChange="submitRegion()">
      <%call makeRegion%>
</SELECT><br>
<SELECT  name="City">
      <%call makeCity%>
</SELECT><br>

<p><INPUT type="submit" value="Submit" id=submit1 name=submit1></p>
</FORM>
</BODY>
<%
objConnection.Close
set objConnection = Nothing
%>

</HTML>
0
Comment
Question by:tmurray22
  • 2
4 Comments
 
LVL 6

Expert Comment

by:rockymagee
ID: 16526986
TRY SWAPPING OUT YOUR makeCity with this:

<%
sub makeCity()
  if strRegion <> "Select a Country First" AND  strRegion <> "Select Region Now" AND strRegion <>"" then
    if not isObject("objRS") then
      set objRS=Server.CreateObject("ADODB.RecordSet")
    end if
         
    if objRS.state <> 0 then
      objRS.close
    end if
         
    objRS.Open "SELECT DISTINCT City FROM Customers WHERE Region = '" & strRegion & "' ORDER BY City",objConnection,3,3
         
    if objRS.eof then
      Response.Write("No Cities Found")
    else
%><div align="center"><table border="1" width="18%" id="table1"><%
    do while not objRS.EOF
      if objRS("City") = strCity then
        strSelected = " Checked "
      end if
%>
<tr>
<td><input type=checkbox name=City <%=strSelected%> value="<%=objRS("City")%>" ID="Checkbox1"></td>
<td><%=objRS("City")%></td>
</tr>
<%
      objRS.MoveNext
      loop
    end if
%></table></div><%
    objRS.Close
    set objRS=Nothing
  else
    Response.Write("<p>Select a Region First</p>")
  end if
end sub
%>
0
 
LVL 6

Accepted Solution

by:
rockymagee earned 1000 total points
ID: 16527023
AND IN YOUR BODY:

remove the <select> around makeCity()

<SELECT  name="City">
     <%call makeCity%>
</SELECT>

change to just:

<%call makeCity%>
0
 

Author Comment

by:tmurray22
ID: 16529396
No errors but now I cannot even select a region.
0
 
LVL 20

Assisted Solution

by:Gawai
Gawai earned 1000 total points
ID: 16550300
get ride of

objConnection.ConnectionTimeout = 15
     objConnection.CommandTimeout =  10


and when u done. run the script, right click and see the src code.
before that goto TOOLS >  internet option > Advanced Tab > uncheck SHOW FRIENDSLY HTTP ERROR MESSAGES
0

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Question has a verified solution.

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

It's sometimes a bit tricky to use date functions in Oracle BPEL. I'll explain quickly how you can add N days to the current date. In a BPEL process this can be useful, and you can adapt it to fit your needs. First of all, let's see how to add 1 …
I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
Suggested Courses

807 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