Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1211
  • Last Modified:

OnChange Event for DropDown List

I am having a problem... I have an access database and an ASP application. On my add screen I am populating a dropdown box with a field from the database. I want to use the OnChange event to fill in a textbox below with the corresponding information. I am combining HTML, ASP, and VBScript for my Onchange event.

I believe the easiest way to achieve this is to create an array.  I receive two JS Errors when I run this page
the first error is expected end (this occurs at the end of this line: var pubArray = new Array()

Then I get this error object undefined.  (this occurs at this line: <option></option>)

Below is my code!  Can somebody please help?  I have lost hours on this and I would really appreciate any input.
--------------------------------------------------------------------------------


objRS.Open "tblJournalNames", objDC, 0, 1

If Not objRS.EOF Then
objRS.MoveFirst
%>

<script type="text/vbscript" language="vbscript">
var pubArray = new Array()

function applytoLabel(a)
document.Form1.txtJournal.value = a.value
document.Form1.txtAuthor.Value = pubArray(a.SelectedIndex)
end function
</script>
<select name="comboJournal" onChange="applytoLabel(this)">
<option></option>
<%
x = 0
Do While Not objRS.EOF
%>
<script language="vbscript">
pubArray<%= x %> = "<%= objRs.Fields("Pub_Code").Value %>"
</script>
<option value="<%= objRS.Fields("Journal_Name") %>"><%= objRS.Fields("Journal_Name") %></option>
<%
objRS.MoveNext
Loop
%>
</select>
<font face="Tahoma">
<% end if %>
0
JCWright30
Asked:
JCWright30
1 Solution
 
grantrjCommented:
Hi,
I may be missing the point but instead of <option></option> could you have <option value=-1></option>?
This should hopefully ensure that the object is defined as I beleive that an option object is defined if it has a value....

Hope this helps
0
 
JCWright30Author Commented:
Here is the fix.  This works well and I wanted to post if for others having similar problems.

objRS.Open "tblJournalNames", objDC, 0, 1

If Not objRS.EOF Then
objRS.MoveFirst
%>

<script type="text/vbscript" language="vbscript">
dim pubArray()

function applytoLabel(a)
if a.SelectedIndex = 0 then
document.Form1.txtJournal.value = ""
document.Form1.txtAuthor.Value = ""
else
document.Form1.txtJournal.value = a.value
document.Form1.txtAuthor.Value = pubArray(a.SelectedIndex - 1)
end if
end function</script>
<select name="comboJournal" onChange="applytoLabel(this)">
<option></option>
<%
x = 0
Do While Not objRS.EOF
%>
<script language="vbscript">
ReDim Preserve pubArray(<%= x %>)
pubArray(<%= x %>) = "<%= objRs.Fields("Pub_Code").Value %>"
</script>
<option value="<%= objRS.Fields("Journal_Name") %>"><%= objRS.Fields("Journal_Name") %></option>
<%
x = x + 1
objRS.MoveNext
Loop
%>
</select>
<font face="Tahoma">
<% end if %>
0
 
moduloCommented:
PAQed with points refunded (250)

modulo
Community Support Moderator
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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