我试图在信用卡表单上获得自动完成功能,以便在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访问此页面,否则无论如何都无法使用)
答案 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中有效。