用于cc-exp的Safari自动完成功能无法正常工作

时间:2017-01-02 21:35:14

标签: html html5 autocomplete safari autofill

我试图在信用卡表单上获得自动完成功能,以便在Safari中正常运行,但它似乎完全忽略了到期日期的自动完成功能。无论我使用cc-exp还是单独的cc-exp-month / cc-exp-year,都不起作用。 cc-name和cc-number的自动完成工作正常,但Chrome中的工作正常。

我能够将问题归结为一个非常简单的例子:

<form>
  <input type="text" autocomplete="cc-name" placeholder="name" />
  <input type="text" autocomplete="cc-number" placeholder="number" />
  <input type="text" autocomplete="cc-exp" placeholder="expiration" />
  <input type="text" autocomplete="cc-csc" placeholder="cvc" />
</form>

我在这里缺少什么?我已经使用ID,名称和x-autocompletetype尝试了较旧的语法。没有任何成功。在Safari 7上测试到10,所以这个问题似乎已经存在了一段时间,或者我真的错过了一些明显的东西?

(注意:要测试上面的示例,请确保您通过https访问此页面,否则无论如何都无法使用)

1 个答案:

答案 0 :(得分:0)

我只是在寻找解决方案,并且注意到在一个较旧的表单中,即使我没有autocomplete属性,它也可以工作。表格之间的区别在于,在较旧的表格上,我使用2个下拉字段(SELECT标记)分别表示MM和YYYY格式的到期月份和年份。

在使用了不同的选项之后,我得出结论,Safari需要两个单独的字段,一个用于MM,一个用于YYYY。我现在有2个这样的文本字段:

static char* keywords[] = {"", "", "k1", "k2", "k3", "k4", NULL};

// [...]

PyArg_ParseTupleAndKeywords(args, kwargs,
                            "O!|O!$O!idO", keywords,
                            &PyArray_Type, &arg1, &PyArray_Type, &arg2,
                            &PyArray_Type, &k1, &k2, &k3, &k4);

这在Safari中有效。