Skip to main content

Bug Tracker

Side navigation

#5091 closed bug (wontfix)

Opened August 21, 2009 12:14PM UTC

Closed November 09, 2010 11:59PM UTC

Last modified January 31, 2011 05:54PM UTC

Attribute type of "multiple" in chrome/safari/firefox

Reported by: assertfail Owned by:
Priority: blocker Milestone: 1.5
Component: attributes Version: 1.5
Keywords: Cc: miketaylr
Blocked by: Blocking:
Description

For instance if you have an input with id "someid" with a custom attribute "multiple" that has the value "True", then the following evaluates to true:

(typeof $("#someid").attr("istrue"))==="boolean"

in chrome.

Attachments (1)
  • chrome.htm (1.2 KB) - added by assertfail August 21, 2009 12:15PM UTC.

    A file that helps demonstrating the inconsistancy

Change History (6)

Changed June 13, 2010 04:54PM UTC by dmethvin comment:1

component: unfiledattributes
description: For instance if you have an input with id "someid" with a custom attribute "istrue" that has the value "True", then the following evaluates to true: \ (typeof $("#someid").attr("istrue"))==="boolean" \ in chrome.For instance if you have an input with id "someid" with a custom attribute "multiple" that has the value "True", then the following evaluates to true: \ (typeof $("#someid").attr("istrue"))==="boolean" \ in chrome.
summary: Attribute type inconsistency in chromeAttribute type of "multiple" in chrome/safari/firefox

Repro in Firefox 3.6, Chrome 5 and Safari 5, but not IE 8. jQuery is not causing this, it's present in the native DOM. I think what is happening is that since

multiple
is a boolean property of the
select
element, there is some common DOM code in the browser that is processing this attribute for
input
elements as well.

It's always a very good idea to avoid any names that are used by DOM elements, see http://yura.thinkweb2.com/domlint/ for some examples.

I'll leave this open for the moment but I'm not sure there's anything jQuery can/should do about it.

Changed October 29, 2010 03:59PM UTC by rwaldron comment:2

_comment0: Confirmed; \ \ Expect: ["True", "string"], ["False", "string"] \ \ IE: ["True", "string"], ["False", "string"] \ Opera: ["True", "string"], ["False", "string"] \ \ Chrome: [ true, "boolean"], ["False", "string"] \ FF: [ true, "boolean"], ["False", "string"] \ Safari: [ true, "boolean"], ["False", "string"] \ \ http://jsfiddle.net/rwaldron/fjXFw/4/1288368028623051
milestone: 1.41.4.5
priority: minorblocker
status: newopen

Confirmed;

Expect: ["True", "string"], ["False", "string"]

IE:     ["True", "string"], ["False", "string"]
Opera:  ["True", "string"], ["False", "string"]

Chrome: [ true, "boolean"], ["False", "string"]
FF:     [ true, "boolean"], ["False", "string"]
Safari: [ true, "boolean"], ["False", "string"]

http://jsfiddle.net/rwaldron/fjXFw/4/

Changed November 09, 2010 11:59PM UTC by rwaldron comment:3

resolution: → wontfix
status: openclosed

multiple="True" is not a valid attribute on input type="text", nor is true a valid value for this attribute.

Changed November 10, 2010 12:00AM UTC by rwaldron comment:4

Changed January 31, 2011 05:53PM UTC by john comment:5

version: 1.3.21.5

There wasn't a 1.4.5 release, was actually 1.5.

Changed January 31, 2011 05:54PM UTC by john comment:6

milestone: 1.4.51.5

There was no 1.4.5 release, was actually 1.5.