473,379 Members | 1,377 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,379 software developers and data experts.

Firefox and getElementById

Ok, interesting problem here, I have a webcontrol that holds a textbox
and a requiredfieldvalidator from System.Web.UI.Webcontrols in .NET 2.0
(this is javascript related, bear with me).
The validator is added to the page validator collection so at run time,
..NET auto generates an array e.g.:
var Page_Validators = new
Array(document.getElementById("ctl0_ContentPlaceHo lder1_UcControl1__ctl1"),
document.getElementById("ctl0_ContentPlaceHolder1_ UcControl1__ctl3"));
which it then references as part of the client side validation.
For some reason however, this works perfectly in IE, works fine in my
test harness but doesn't work in the release project. The ONLY possible
reason that I can see is that the release project has underscores in
the ID and my test harness does not.
Has anyone come across this before?
Please note 2 things:
1) The id attribute is auto-generated by .NET and thus I have extremely
limited control over altering it.
2) The array Page_Validators is auto-generated as well and I have
absolutely NO entry point with which to alter it so I CANNOT change the
method of .getElementById, etc.

Sep 25 '06 #1
9 2990


ja*******@gmail.com wrote:

The validator is added to the page validator collection so at run time,
.NET auto generates an array e.g.:
var Page_Validators = new
Array(document.getElementById("ctl0_ContentPlaceHo lder1_UcControl1__ctl1"),
document.getElementById("ctl0_ContentPlaceHolder1_ UcControl1__ctl3"));
which it then references as part of the client side validation.
For some reason however, this works perfectly in IE, works fine in my
test harness but doesn't work in the release project.
What excactly happens, what error exactly do you get in the JavaScript
console for which line?

--

Martin Honnen
http://JavaScript.FAQTs.com/
Sep 25 '06 #2
RVB
It's odd, what -should- happen is that the javacsript fires off on the
defocus (don't know the exact name) event on the textbox to fire off
validation at which point, it notes that the test text I've put in is a
blank space (which works in my test harness on FF).
What happens is....NOTHING! I fire up the javascript console in FF,
clear any style complaints it has and try again. No events fired, no
error messages occur in the console. I am at a complete loss as to
what's going on.
I even rechecked agsint the test harness to see the auto generated js
that gets put in and teh js files that get pulled from webresource.axd
(the script handler in webcontrols) and, bar the IDs of the field,
there's no difference.

Martin Honnen wrote:
ja*******@gmail.com wrote:

The validator is added to the page validator collection so at run time,
.NET auto generates an array e.g.:
var Page_Validators = new
Array(document.getElementById("ctl0_ContentPlaceHo lder1_UcControl1__ctl1"),
document.getElementById("ctl0_ContentPlaceHolder1_ UcControl1__ctl3"));
which it then references as part of the client side validation.
For some reason however, this works perfectly in IE, works fine in my
test harness but doesn't work in the release project.

What excactly happens, what error exactly do you get in the JavaScript
console for which line?

--

Martin Honnen
http://JavaScript.FAQTs.com/
Sep 25 '06 #3
ASM
ja*******@gmail.com a écrit :
Ok, interesting problem here, I have a webcontrol that holds a textbox
and a requiredfieldvalidator from System.Web.UI.Webcontrols in .NET 2.0
(this is javascript related, bear with me).
The validator is added to the page validator collection so at run time,
.NET auto generates an array e.g.:
var Page_Validators = new
Array(document.getElementById("ctl0_ContentPlaceHo lder1_UcControl1__ctl1"),
document.getElementById("ctl0_ContentPlaceHolder1_ UcControl1__ctl3"));
which it then references as part of the client side validation.
For some reason however, this works perfectly in IE, works fine in my
test harness but doesn't work in the release project. The ONLY possible
reason that I can see is that the release project has underscores in
the ID and my test harness does not.
what could break a poor undescore ?
Has anyone come across this before?
never seen an array of functions calling elements ...
did elements exist before statement of the array ?
Please note 2 things:
1) The id attribute is auto-generated by .NET and thus I have extremely
limited control over altering it.
2) The array Page_Validators is auto-generated as well and I have
absolutely NO entry point with which to alter it so I CANNOT change the
method of .getElementById, etc.
if you can't change anything ... what is the question ?

I understand you can't do :

var Page_Validators = new Array(
"ctl0_ContentPlaceHolder1_UcControl1__ctl1",
"ctl0_ContentPlaceHolder1_UcControl1__ctl3"
);

and only after work with
document.getElementById(Page_Validators[i]).innerHTML = ... ;

perhaps could you try

document.getElementById(Page_Validators[i].id).innerHTML = ... ;

--
ASM
Sep 26 '06 #4
ASM
RVB a écrit :

are you : jason.hau ?
why do you change your identity from post to post ?
It's odd, what -should- happen is that the javacsript fires off on the
defocus (don't know the exact name) event on the textbox
which textbox this time ?
(what is a textbox?)

eval(Page_Validators[i].innerHTML = ...);

? ?

Sep 26 '06 #5
ASM scribed:
>ja*******@gmail.com a écrit :
>Ok, interesting problem here, I have a webcontrol that holds a textbox
and a requiredfieldvalidator from System.Web.UI.Webcontrols in .NET 2.0
(this is javascript related, bear with me).
The validator is added to the page validator collection so at run time,
.NET auto generates an array e.g.:
var Page_Validators = new
Array(document.getElementById("ctl0_ContentPlaceH older1_UcControl1__ctl1"),
document.getElementById("ctl0_ContentPlaceHolder1 _UcControl1__ctl3"));
which it then references as part of the client side validation.
For some reason however, this works perfectly in IE, works fine in my
test harness but doesn't work in the release project. The ONLY possible
reason that I can see is that the release project has underscores in
the ID and my test harness does not.

what could break a poor undescore ?
>Has anyone come across this before?
I don't understand why, but I recently encountered similar behavior with FF.
I had to precede all references to document with window, i.e.,
window.document.
--
Ed Jay (remove 'M' to respond by email)
Sep 26 '06 #6
RVB
Yeah, I keep forgetting to change to a nickname on groups and only
remember after my first post >_< (it helps keep down on the spam).

The textbox itself is just an input tag with type text set against it.
ASM wrote:
RVB a écrit :

are you : jason.hau ?
why do you change your identity from post to post ?
It's odd, what -should- happen is that the javacsript fires off on the
defocus (don't know the exact name) event on the textbox

which textbox this time ?
(what is a textbox?)

eval(Page_Validators[i].innerHTML = ...);

? ?

.
Sep 26 '06 #7
RVB
Well, I've just downloaded firebug for firefox which gives me a nicer
js console and doing document.getElementById worked fine! Very odd.
Seems to indicate that the validation functions aren't firing. I'll see
where exactly it's meant to be going.

Ed Jay wrote:
ASM scribed:
ja*******@gmail.com a écrit :
Ok, interesting problem here, I have a webcontrol that holds a textbox
and a requiredfieldvalidator from System.Web.UI.Webcontrols in .NET 2.0
(this is javascript related, bear with me).
The validator is added to the page validator collection so at run time,
.NET auto generates an array e.g.:
var Page_Validators = new
Array(document.getElementById("ctl0_ContentPlaceHo lder1_UcControl1__ctl1"),
document.getElementById("ctl0_ContentPlaceHolder1_ UcControl1__ctl3"));
which it then references as part of the client side validation.
For some reason however, this works perfectly in IE, works fine in my
test harness but doesn't work in the release project. The ONLY possible
reason that I can see is that the release project has underscores in
the ID and my test harness does not.
what could break a poor undescore ?
Has anyone come across this before?
I don't understand why, but I recently encountered similar behavior with FF.
I had to precede all references to document with window, i.e.,
window.document.
--
Ed Jay (remove 'M' to respond by email)
Sep 26 '06 #8
RVB
Not sure what you mean by "what could break a poor undescore ?".
While I can't change the output javascript, I can add javascript of my
own however, I'm not sure what I could add to alter the array/fix this
problem.
(The reason I've posted here ,as well as the .NET newsgroups, is that
its not completely a .NET problem, it's the js that's being produced by
..NET that's causing the problem. )

ASM wrote:
ja*******@gmail.com a écrit :
Ok, interesting problem here, I have a webcontrol that holds a textbox
and a requiredfieldvalidator from System.Web.UI.Webcontrols in .NET 2.0
(this is javascript related, bear with me).
The validator is added to the page validator collection so at run time,
.NET auto generates an array e.g.:
var Page_Validators = new
Array(document.getElementById("ctl0_ContentPlaceHo lder1_UcControl1__ctl1"),
document.getElementById("ctl0_ContentPlaceHolder1_ UcControl1__ctl3"));
which it then references as part of the client side validation.
For some reason however, this works perfectly in IE, works fine in my
test harness but doesn't work in the release project. The ONLY possible
reason that I can see is that the release project has underscores in
the ID and my test harness does not.

what could break a poor undescore ?
Has anyone come across this before?

never seen an array of functions calling elements ...
did elements exist before statement of the array ?
Please note 2 things:
1) The id attribute is auto-generated by .NET and thus I have extremely
limited control over altering it.
2) The array Page_Validators is auto-generated as well and I have
absolutely NO entry point with which to alter it so I CANNOT change the
method of .getElementById, etc.

if you can't change anything ... what is the question ?

I understand you can't do :

var Page_Validators = new Array(
"ctl0_ContentPlaceHolder1_UcControl1__ctl1",
"ctl0_ContentPlaceHolder1_UcControl1__ctl3"
);

and only after work with
document.getElementById(Page_Validators[i]).innerHTML = ... ;

perhaps could you try

document.getElementById(Page_Validators[i].id).innerHTML = ... ;

--
ASM
Sep 26 '06 #9
RVB
Additionally, it shows that the contents of the array are correct in
that they pick up the spans that contain the error messages.
(ordinarily works by setting these to visible if there's a problem and
prevents postback/submit of the page)

RVB wrote:
Well, I've just downloaded firebug for firefox which gives me a nicer
js console and doing document.getElementById worked fine! Very odd.
Seems to indicate that the validation functions aren't firing. I'll see
where exactly it's meant to be going.

Ed Jay wrote:
ASM scribed:
>ja*******@gmail.com a écrit :
>Ok, interesting problem here, I have a webcontrol that holds a textbox
>and a requiredfieldvalidator from System.Web.UI.Webcontrols in .NET 2.0
>(this is javascript related, bear with me).
>The validator is added to the page validator collection so at run time,
>.NET auto generates an array e.g.:
>var Page_Validators = new
>Array(document.getElementById("ctl0_ContentPlaceH older1_UcControl1__ctl1"),
>document.getElementById("ctl0_ContentPlaceHolder1 _UcControl1__ctl3"));
>which it then references as part of the client side validation.
>For some reason however, this works perfectly in IE, works fine in my
>test harness but doesn't work in the release project. The ONLY possible
>reason that I can see is that the release project has underscores in
>the ID and my test harness does not.
>
>what could break a poor undescore ?
>
>Has anyone come across this before?
>
I don't understand why, but I recently encountered similar behavior with FF.
I had to precede all references to document with window, i.e.,
window.document.
--
Ed Jay (remove 'M' to respond by email)
Sep 26 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: R. Rajesh Jeba Anbiah | last post by:
In IE, I could be able to directly refer the "id", but it isn't possible in Firefox. Somewhere I read the solution is to refer the id like document.getElementById("month") in Firefox. If I do so,...
3
by: Philip | last post by:
I have just tried my website with Firefox v1.0 and when I try to load a movie using: document.getElementByID('MovieID').LoadMovie(0, 'MovieURL'); the browser tells me that LoadMovie is not a...
5
by: LRW | last post by:
(Sorry if this is a repost...my newsreader keeps crashing on the posting--I don't know if the message going out or not) For some reason this javascript just won't work in Firefox. It works fine...
3
by: David Hayes | last post by:
I've made tooltips work in Firefox*, but tooltip doesn't appear at the specified location until the SECOND time that the user passes the mouse over the location with the mouseover event. What I...
4
by: tcole6 | last post by:
My problem appears to be Firefox specific. I have a hyperlink that loads a new window. This window contains hyperlinks that call javascript functions in the parent window and then closes the...
2
by: reynoldlariza | last post by:
Can somebody please help me, i tried playing around with IE6 and Firefox 2.0 browser for setting zIndexes and hide & show of divs. It seems to work to both. I tried repeatedly clicking on different...
6
by: MZ | last post by:
Hello! The following js code doesn`t work fine on Firefox and I don`t know why. I have table with 30 rows and on IE I click once on analyse button and it fills my cells automaticaly, but when I...
21
rrocket
by: rrocket | last post by:
This works great in IE, but does not do anything in FireFox... Any ideas of what could be wrong with it? I checked all of the values (in IE through alert statements since nothing shows up in...
1
by: SunshineInTheRain | last post by:
My project has 3 files, File1 has included master page. file1 consists of iframe1 that load file2. File2 consists of iframe2 that load file3. Javascript used on each file to resize the iframe...
3
by: GarryJones | last post by:
The following works in MSIE but not firefox. I suspect it has something to do with the fact that the element I am trying to access is not the "tid" which is the name of the DIV that is passed to...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.