Closed Bug 3326 Opened 26 years ago Closed 23 years ago

ISINDEX element ignored

Categories

(Core :: Layout, defect, P3)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: cpratt, Assigned: pollmann)

References

Details

(Keywords: testcase, Whiteboard: [nsbeta3+][nsbeta2-] fix nearly in hand)

Attachments

(3 files)

Sample HTML code:

<isindex prompt="Enter your search phrase: ">

This should create a single-line text input control. However, nothing happens in
seamonkey (feb-25 build). If the prompt attribute is used, you should see the
text of the prompt attribute. If no prompt attribute is used, you should see the
default "This is
The default text displayed is "This is a searchable index. Enter search
keywords:".
Assignee: troy → karnaze
QA Contact: 4110 → 4137
Assignee: karnaze → pollmann
Target Milestone: M5
Status: NEW → ASSIGNED
This is deprecated in HTML 4 but it's still in the spec.
Chris, any ideas on how we should be handling this?  Should a text input frame
be constructed for it?
OS: Windows NT → All
Hardware: PC → All
From the HTML 4 spec.  Should we handle this as we do the file input frame?

DEPRECATED EXAMPLE:
 The following ISINDEX declaration:

   <ISINDEX prompt="Enter your search phrase: ">

 could be rewritten with INPUT as follows:

   <FORM action="..." method="post">
   <P>Enter your search phrase: <INPUT type="text"></P>
   </FORM>
I think you have the right idea. The important thing is to not create content
that doesn't belong in the content model. Most of this needs to happen on the
frame side.
Target Milestone: M5 → M7
Redistributing bugs...
Attached file a test case (deleted) —
Whiteboard: [TESTCASE] This element should be treated as is shown in the HTML 4 spec (example in comments section).
*** Bug 12879 has been marked as a duplicate of this bug. ***
Target Milestone: M11 → M15
Since this is deprecated, I'm pushing it out unless I hear too many screams.
After careful consideration, I've decided that I probably won't get this bug in
for M12.  Currently I have nearly 50 bugs scheduled for M13, so there is a
possibility that this bug may need to be moved out farther still.
Summary: ISINDEX element ignored → [4.xP] ISINDEX element ignored
Target Milestone: M13 → M17
Marking [4.xP]. Moving to M17. It's been deprecated but it may be used in old
forms so we should try to fix this before FCS if possible.
Bulk moving [testcase] code to new testcase keyword. Sorry for the spam!
Keywords: testcase
Setting the keyword all open [4.xp] bugs to 4xp.
Keywords: 4xp
Keywords: beta1
Putting on PDT- radar for beta1.  Will not hold beta for this bug.
Summary: [4.xP] ISINDEX element ignored → ISINDEX element ignored
Whiteboard: [TESTCASE] This element should be treated as is shown in the HTML 4 spec (example in comments section). → [PDT-]This element should be treated as is shown in the HTML 4 spec (example in comments section).
See bug 21265.  IsIndex content needs to implement nsIFormControl and
nsHTMLContentSink needs to call SetForm on the IsIndex when this gets
implemented.
*** Bug 30231 has been marked as a duplicate of this bug. ***
cpratt is no longer in our group, changing qa contact to chrisd 
QA Contact: cpratt → chrisd
Lowering priority, as this is not critical in relation to some of my other bugs.

 1) major regressions
 2) development blockers
 3) crashers and major usability issues
 4) cosmetic issues and standards compliance issues

This falls in category 4 and both deprecated and infrequently used.  Moving off
to M19.
Target Milestone: M17 → M19
This bug seems to have been duplicated (and fixed) as #33881.



That bug looks different.  Did you test that it was fixed?
Yeah, that's a separate issue.  Our implementation of the DOM interface does not
in imply that we are creating the correct kinds of frames for these elements
(and displaying them).
QA Contact: chrisd → petersen
Added keyword nsbeta2.
Keywords: nsbeta2
Whiteboard: [PDT-]This element should be treated as is shown in the HTML 4 spec (example in comments section). → This element should be treated as is shown in the HTML 4 spec (example in comments section).
*** Bug 38428 has been marked as a duplicate of this bug. ***
Putting on [nsbeta2-] radar. Not critical to beta2.  Per kmcclusk call into PDT.
Whiteboard: This element should be treated as is shown in the HTML 4 spec (example in comments section). → [nsbeta2-]This element should be treated as is shown in the HTML 4 spec (example in comments section).
*** Bug 40744 has been marked as a duplicate of this bug. ***
Nominate for nsbeta3. This bug blocks the Internet Draft search page I've been 
using (http://info.internet.isi.edu/7c/in-drafts/.cach), so I have to use 4.x to 
search for I-Ds :-(  
Keywords: nsbeta3
1/2 done, I got isindex to display correctly.  Now to get it to submit on Enter.  
:)
My implementation displays like:

<HR>
(internationalized prompt string)[text input]
<HR>

The spec does not clearly state what the display should be, but this is how both 
IE and Nav display it.  (Note the box in the spec describing an alternative is 
not a suggestion on how to display isindex, but an example of an alternative 
that can be used to remove it from your web pages because it is deprecated)

Also note that this is not a standard form element and will not be submitted 
with the form if it is enclosed in a form (in fact, it is not displayed if in a 
form in Nav and IE).  Also, the value of the isindex is not submitted with a 
name.  That is, instead of http://foo.com/test.cgi?name=value it will be 
submitted as http://foo.com/test.cgi?value  Also, it can only be sent as a GET 
request and not a post.

Because of the above, I will not be reusing the logic in nsFormFrame to do the 
actual submit, but will be creating new logic.
Whiteboard: [nsbeta2-]This element should be treated as is shown in the HTML 4 spec (example in comments section). → [nsbeta2-]
It's submitting now too, just need to work out one crasher I keep seeing...
Got rid of the crash, ready to check in!  :)
Whiteboard: [nsbeta2-] → [nsbeta2-] fix in hand
Marking nsbeta3+
Whiteboard: [nsbeta2-] fix in hand → [nsbeta3+][nsbeta2-] fix in hand
fix checked in (by eric)
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
This fix is not completely checked in yet, more coming tomorrow.  The partial 
checkin was to allow me to test on Mac before commiting the fix.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
href (action) and target are not part of the spec - see:

http://www.w3.org/TR/REC-html40/interact/forms.html#edef-ISINDEX

Therefore, I have not implemented them (yet).  If these are desirable, please
open a new bug on them - though it may be marked Future.
Status: REOPENED → ASSIGNED
Same crash as before - reappeared after Rod added some (valid and good) changes 
to nsHTMLInputElement.cpp.  It seems like the IsIndex frame or one of it's 
children is being destroyed when leaving the page, then after that, a blur event 
is being sent to the content.

Both new places in nsHTMLInputElement::HandleDOMEvent that call GetPrimaryFrame 
on this code path are getting back non-null for the frame pointer, but the frame 
itself is gone and null'd out -> crash when dereferencing in QueryInterface.

I came up with a hack-workaround for one of the new crashes, but the most 
recent, I can't figure out...  Will have to solve the underlying problem....
Whiteboard: [nsbeta3+][nsbeta2-] fix in hand → [nsbeta3+][nsbeta2-] fix nearly in hand
*** Bug 48183 has been marked as a duplicate of this bug. ***
petersen, with marcell@netscape.com currently on vacation, is there any chance 
QA could use the top 100 crawler he wrote to scan top 100 sites & see if this is 
used? leger knows about this tool if you haven't heard about it already.

What we need is a quantitative assessment of how common ISINDEX is on the web. I 
have no idea. Unfortunately I suspect it's out there. However, content 
developers can work around this by conditionally generating either the ISINDEX 
for older browsers or the workaround HTML markup above for Netscape 6 (or just 
dropping the use of ISINDEX completely).

Bottom line: unless we find popular sites using this, I'll agree with Future-ing 
the bug.
I checked on the first 25 sites of our top 100 for isindex. I wasn't able to find 
it in use.
*** Bug 50226 has been marked as a duplicate of this bug. ***
Setting priority to P3 according to new criteria
Priority: P2 → P3
Fix is in.  To verify, go to the above test case marked "a test case".  This
should display as a horizontal line, followed by a text prompt reading "Search
for: " followed by a text input field.  Below this should be another horizontal
line.  Typing something into the text field and pressing Enter should submit the
page to the server (same URI that it came from) with a query string after it
that is equal to the string you typed in.
Marking fixed...
Status: ASSIGNED → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → FIXED
Element is now rendered. Fixed in the Sept 14 build.
Status: RESOLVED → VERIFIED
Why is there horizontal lines?

The horizontal rules are there because that is what Nav and IE have done since
the beginning of time (as time is measured by isindex anyway ;)  Since this is a
deprecated tag, I tried to make it as fully backwards compatible as possible.  

(Admittedly it doesn't do a few things the Nav and IE do, but for most purposes
it looks the same)
OK, you're right. But, speaking about backward compatibility, Nav doesn't do the
same as Mozilla on the second testcase (which as a link around the ISINDEX
element). I am undex linux (build 2000091721) so I can't try with IE.
Yes, that's one of those "few things the Nav and IE do" that aren't supported
yet.  Also I think IE supports a TARGET attribute (not part of the spec) that we
don't support yet.  It would be worthwhile to file a feature request bug on
these features - particularly if you (anyone) have pages that use them.  The two
"real" test cases I've seen on the web were very simple and our implementation
worked for them.
OK, I'll file a feature request for href and target.
Removing myself from CC list.
are we not supporting this anymore...because it returns undefined when i use the
following code

<form id="form1">
<isindex prompt="booya">
</form>
<SCRIPT type="text/javascript">
	 document.write(document.getElementsByTagName("ISINDEX").prompt);

</SCRIPT>
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
I *believe* that's invalid HTML. IIRC you can't stick an ISINDEX tag inside a 
FORM element...
Status: REOPENED → RESOLVED
Closed: 24 years ago23 years ago
Resolution: --- → FIXED
even does not work
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
<isindex prompt="booya">
<SCRIPT type="text/javascript">
document.write(document.getElementsByTagName("ISINDEX").prompt);
</SCRIPT>

The above HTML snippet shows the TEXTAREA correctly but returns "" in 
Communicator 4.78 and "undefined" in IE 5.5. The TEXTAREA tag displays correctly 
 in Mozilla, so I'm going to close this back out again as FIXED (the original 
point of this bug was of course to implement TEXTAREA in the first place). If 
there's something wrong with the js event, please open a new bug. Thanks!
Status: REOPENED → RESOLVED
Closed: 23 years ago23 years ago
Resolution: --- → FIXED
Marking verified per last comments.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: