Closed
Bug 156430
Opened 24 years ago
Closed 19 years ago
FORM tag not accessable via JavaScript with external CSS sheet link or external script
Categories
(Core :: DOM: Core & HTML, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: alex, Unassigned)
References
Details
Attachments
(2 files)
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1a) Gecko/20020611
BuildID: 20020611
See the HTML file listed below:
After the FORM tag starts in the body section of the upper frame (thus directly
after the opening FORM tag) in the BODY section, it should be immedately
available for JavaScript (DOM) access, and indeed it IS with all other major
HTML browser applications (including Netscape 4.7)! But Mozilla 1.1a does not
make this item accessable - the FORM element count in the document stays at 0!
If the user then presses Ctrl-R (refresh) instead of re-loading the page through
the address line in the toolbar, Mozilla will work fine and report 1 available
FORM elment...
The problem is caused by the externally linked CSS file in the header! If this
LINK statement is removed or replaced by an internal CSS definition, Mozilla
works fine and makes the FORM tag immedately available. It is not important
which content the externally referenced CSS file contains - or if it even
exists! The pure presence of the LINK statement seems to disturb the
JavaScript/DOM functionality...
Reproducible: Always
Steps to Reproduce:
Load the provided HTML demo file and see the HTML code in the upper frame
('frame1'), which will be written dynamically by the provided JavaScript code of
the base page.
Actual Results: After the opening FORM tag in the body section of 'frame1', the
FORM element should be immedately available for JavaScript access. With the LINK
header element present in the header section of 'frame1', this functionality is
broken.
Expected Results: Mozilla 1.1a must behave as every other major browser and
make the FORM element immedately available to internal scripting - fully
independent from the presence or absence of a LINK statement in the header section!
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function WriteFrame1()
{
d = top.frame1.document;
d.write( "<html>\n<head>\n<title>Test-Frame</title>\n" );
/* Remove the following line (or rename 'link' to e.g. 'xlink') to get
Mozilla 1.0 to behave correctly
(thus making the <form> element available in the DOM immediately after
it was written to 'frame1')!
The problem does not depond on whether the external css file actually
exists or which element formats it defines! */
d.write( "<link rel=\"stylesheet\" type=\"text/css\"
href=\"anything.css\">\n" );
d.write( "</head>\n<body>\n" );
d.write( "<form name=\"form1\">\n" );
d.writeln( "Remove the external-CSS <link> element from the
JavaScript section of the html document, and Mozilla 1.0 will recognize the
<form> element immediately (like every other browser)!" );
alert( "Number of forms in document: " + top.frame1.document.forms.length +
"\n Types of document: " + typeof( top.frame1.document) + "\n Type of form1: " +
typeof( top.frame1.document.form1 ) );
d.write( "</form>\n" );
d.write( "</body>\n</html>" );
d.close();
alert( "Number of forms in document: " + top.frame1.document.forms.length +
"\n Types of document: " + typeof( top.frame1.document) + "\n Type of form1: " +
typeof( top.frame1.document.form1 ) );
return( true );
}
</script>
</head>
<frameset rows="*,1" onLoad="WriteFrame1()">
<frame src="about:blank" name="frame1">
<frame src="about:blank" name="frame2">
</frameset>
</html>
Comment 1•24 years ago
|
||
Comment 2•24 years ago
|
||
Comment 3•24 years ago
|
||
This has nothing to do with the JS engine... The problem, it seems to me, is
that the parser-blocking magic that <script> and <link> do leads to us executing
that alert before he (blocked) content model s built...
As a note, this is why you generally want to hook into onload() events....
Assignee: rogerl → jst
Component: JavaScript Engine → DOM Level 0
QA Contact: pschwartau → desale
Updated•24 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Updated•24 years ago
|
Summary: FORM tag not accessable via JavaScript with external CSS link → FORM tag not accessable via JavaScript with external CSS sheet link or external script
Comment 4•24 years ago
|
||
*** Bug 158905 has been marked as a duplicate of this bug. ***
Comment 6•19 years ago
|
||
Fixed for <link> by bug 84582.
The script thing is compat with other browsers, I think, so nothing to fix there.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•