innerHTML not being recognized in FireFox

B

Buster

Hello,

First, this works fine in IE 6.5 and 7. Second, this is javascript
embedded in ASP code. The purpose of this is to assign letters to form
fields that are being rendered in an ASP loop.

First part, I assign a div tag for the "marker" positions:

do Until rs4.EOF
address = address & "<div id=""marker""></div><input type='image'
SRC='images/gobutton.gif' border=0>"
rs4.MoveNext
Loop
rs4.Close
set rs4 = nothing

Second, I confirm that we are getting the object with an alert:

Response.Write("<script type=""text/javascript""> var formMarker =
document.getElementsByName('marker');alert(formMarker);</script>")

Third, I am doing a final loop where I am outputting the values (A, B,
C)

do while iiLoop < totalRecord
Response.Write("<input type=""hidden"" name=""dealerName" & iiLoop &
""" value=""" & dynamicAddressArray(0,iiLoop) & """>")
Response.Write("<p>" & dynamicAddressArray(1, iiLoop))
iiLoop = iiLoop + 1

If iiLoop = "1" Then
Response.Write("<script type=""text/javascript"">
formMarker[0].innerHTML = 'A'</script>")
End If

If iiLoop = "2" Then
Response.Write("<script type=""text/javascript"">
formMarker[1].innerHTML = 'B'</script>")
End If

If iiLoop = "3" Then
Response.Write("<script type=""text/javascript"">
formMarker[2].innerHTML = 'C'</script>")
End If
Loop

I've Googled this, searched through many KB's and forums, tried many
different syntax variations, cannot get FireFox to output these
values.

Thank you for your time,
Buster
 
R

Richard Cornford

Buster said:
First, this works fine in IE 6.5 and 7. Second, this
is javascript embedded in ASP code.

No it is not, it is javascript generated by ASP code. When it is "in"
the ASP it is just text, and when it gets to become javascript (when it
reaches the client) the ASP is finished.
The purpose of this is to assign letters to form
fields that are being rendered in an ASP loop.

Browsers do the 'rendering', all this loop does is assemble mark-up to
be sent to a browser.

address = address & "<div id=""marker""></div><input
Response.Write("<script type=""text/javascript""> var
formMarker = document.getElementsByName('marker');
alert(formMarker);</script>")
<snip>

Your DIV elements don't have NAME attributes (and should not have them)
so trying to retrieve a collection of them using - getElementsByName -
should not be expected to be effective. And ID attributes are supposed
to be unique within a single document.

But why attempt to use - innerHTML - to put the content into the DIV
elements on the client when you could put the contents into the DIVs in
the mark-up generated by the ASP on the server?

Richard.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,001
Messages
2,570,251
Members
46,851
Latest member
CristineKo

Latest Threads

Top