Month field of credit card details doesn't populate under payment method.
Reported by
vku...@etouch.net,
Apr 13 2016
|
||||||
Issue descriptionChrome Version:50.0.2661.75 (Official Build) ffad3c52452e415ab24c9cad1bae22eeb7428092-refs/branch-heads/2661@{#573} 32/64 Bit. OS:All,Win 7(Aero enabled) What steps will reproduce the problem? 1.Launch chrome and navigate to chrome://settings/autofill ,click on 'add new new credit card' enter card holder name/card no, expiry month/year 2.Navigate to https://www.ryanair.com/gb/en/ ,select flight options and click on 'checkout' button. 3.Now double click on card no file and observe the month field. Actual: Month field of credit card details doesn't populate under payment method. Expected: Month field of credit card details should populate under payment method. This is a Non-regression issue seen from 'M50' series i.e 50.0.2625.0
,
Apr 13 2016
,
Apr 14 2016
I am seeing the same behavior on a few sites that I maintain as well. To add a bit of detail (because I see the same situation on ryanair.com as with my sites,) I noticed that it is an issue when the month is a select box and the option values are type-qualified (value="number:1" for January, e.g.) Changing the select box to have non-dynamic options without type qualification allows autofill to work properly. Further, this was working for Chrome version 48.0.2564.116, and it broke with the update to 49.0.2623.110 (or one of the updates in between those two versions.) If I find any more detail that might help the diagnosis, I will add it here.
,
Apr 21 2016
Thanks Mark, are you using a library or framework to construct the Month/year expiration fields? Putting value="number:1" is not a standard was of doing things.
,
Apr 21 2016
Yes, I am using AngularJS, which is what ryanair.com is using as well (based on looking at their javascript.
,
Apr 21 2016
Incidentally, I thought that looked strange, and was curious what part of a standard that would be.
,
Apr 21 2016
Thanks, is there a component that does credit card entry natively in AngularJS or is credit card entry party of a plugin? Sorry, I'm not familiar with it and could not find such a plugin by searching.
,
Apr 21 2016
Oh, sorry. No, it is not part of a plugin. We are converting an object (key-value pairs of month name to number) via Angular's ng-options directive:
<select ng-model="payment.ExpMonth" ng-options="cardMonth.Value as cardMonth.Name for cardMonth in cardMonths" class="select" name="expMonth" required>
<option value="">Month</option>
</select>
Where cardMonths is defined like so:
$scope.cardMonths = [{
Name: '01 (January)',
Value: 1
}, {
Name: '02 (February)',
Value: '02'
}, {
Name: '03 (March)',
Value: '03'
}, {
Name: '04 (April)',
Value: '04'
}, {
Name: '05 (May)',
Value: '05'
}, {
Name: '06 (June)',
Value: '06'
}, {
Name: '07 (July)',
Value: '07'
}, {
Name: '08 (August)',
Value: '08'
}, {
Name: '09 (September)',
Value: '09'
}, {
Name: '10 (October)',
Value: '10'
}, {
Name: '11 (November)',
Value: '11'
}, {
Name: '12 (December)',
Value: '12'
}];
Thanks for taking a look at this!
,
Apr 21 2016
Whoops. I was testing a few things while looking at this, and I botched some of it. All of the Values in cardMonths should be integers, not strings.
,
Apr 21 2016
Thanks Mark for the details. So AngularJS will take the "Value" attribute and transform it to "number:<Value>" (e.g. "number:1")? If so, sounds like Autofill should adapt to that.
,
Apr 21 2016
Yes, exactly. I believe it puts in the data type so it can keep two-way binding working (I'm speculating on this though.) If the value were a string, it becomes "string:<Value>".
,
Apr 21 2016
Looks like we have seen "number:" in the wild for exp month so I'll fix that and hold out of checking for "string:" Thanks for your help in making Autofill better!
,
Apr 21 2016
Thank you!
,
Apr 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d9f8818992a4f18090aeca2cfff70dfc9504571b commit d9f8818992a4f18090aeca2cfff70dfc9504571b Author: mathp <mathp@chromium.org> Date: Fri Apr 22 15:50:45 2016 Autofill: Check for common angular js prefix when filling exp month. BUG= 602987 TEST=AutofillFieldTest Review URL: https://codereview.chromium.org/1905143002 Cr-Commit-Position: refs/heads/master@{#389121} [modify] https://crrev.com/d9f8818992a4f18090aeca2cfff70dfc9504571b/components/autofill/core/browser/autofill_field.cc [modify] https://crrev.com/d9f8818992a4f18090aeca2cfff70dfc9504571b/components/autofill/core/browser/autofill_field_unittest.cc
,
Apr 22 2016
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by nyerramilli@chromium.org
, Apr 13 2016