Skip to main content

Bug Tracker

Side navigation

#7423 closed bug (worksforme)

Opened November 06, 2010 08:35PM UTC

Closed November 06, 2010 11:59PM UTC

Last modified March 13, 2012 05:51PM UTC

`val` fails to return numeric elem.value

Reported by: vostrel Owned by:
Priority: high Milestone: 1.5
Component: attributes Version: 1.4.3
Keywords: Cc:
Blocked by: Blocking:
Description

When non-string value is assigned to element by:

.val(3.5);

and then retrieving the value back using:

.val();

I'm getting (in Chrome 7.0):

TypeError: Object 3.5 has no method 'replace'

pointing me to line 1589 in the latest 1.4.3. In there:

return (elem.value || "").replace(rreturn, "");

I'm not really sure if this actually is a bug or a feature. Either way my tests uncovered this issue.

I think adding an empty string to the elem.value would make it a string and while not hurting existing strings. But I may as well be missing the big picture here.

return (elem.value + "" || "").replace(rreturn, "");

Or are values required to be just strings?

Thanks very much for clarification

Attachments (0)
Change History (3)

Changed November 06, 2010 08:48PM UTC by vostrel comment:1

Correction: when the value is assigned using val it kinda works - assigned numeric value is returned as a string. But hey, who cares, string to number conversion is cheap. It fails on assigning the numeric value directly to the DOM node using value property.

Changed November 06, 2010 11:59PM UTC by rwaldron comment:2

component: unfiledattributes
priority: undecidedhigh
resolution: → worksforme
status: newclosed

I cannot reproduce this issue with 1.4.4rc2

http://jsfiddle.net/rwaldron/z2R4C/3/

Changed November 08, 2010 10:05AM UTC by vostrel comment:3

OK. Thanks