Skip to main content

Bug Tracker

Side navigation

#6694 closed bug (invalid)

Opened June 20, 2010 06:07PM UTC

Closed November 01, 2010 09:18PM UTC

The selector $('input[type=date]') does not work in ie6

Reported by: tombigel Owned by:
Priority: undecided Milestone: 1.4.3
Component: selector Version: 1.4.2
Keywords: input type date html5 Cc:
Blocked by: Blocking:

I'm trying to select <input type='date'/> elements, (html5 type attribute), can't make it work on ie6, works on Webkit/Gecko browsers, don't have another ie version to test it on.

I also tried all the [name=value] variants ($,*,~), didn't work.

I made a small test script and getAttribute('type') returns 'date' so I can't think of a reason for this to happen.

Attachments (0)
Change History (3)

Changed June 20, 2010 07:00PM UTC by dmethvin comment:1

I think the problem is that any non-HTML5 browser uses the dynamic type property of "text" for any input type attribute that it doesn't understand.

For both the selector and .attr(), jQuery is looking at the dynamic type property rather than the attribute. For the test below, IE and Firefox alert "text" rather than "date":

<input id="sorry" type="date">

Changed June 21, 2010 06:49AM UTC by tombigel comment:2


in your example

document.getElementById('sorry').type returns "text"


document.getElementById('sorry').getAttribute('type') returns "date"

so ie6 can "see" type=date, it's just a matter of how the framework tries to access this info

Changed November 01, 2010 09:18PM UTC by rwaldron comment:3

priority: → undecided
resolution: → invalid
status: newclosed

HTML attributes are not the same as JavaScript properties.

document.getElementById('sorry').getAttribute('type') returns "date" - Yes, because that's what the value of the attribute says, however, because IE6 doesn't know what a type="date" input element is, it falls back to "text".