gpt4 book ai didi

javascript - Jquery - 无法在 Chrome 中自动插入破折号,即克隆后

转载 作者:行者123 更新时间:2023-12-02 17:11:51 24 4
gpt4 key购买 nike

我是 Jquery 世界的新手,并且对下面的代码有疑问。我希望你能让我知道我做错了什么。

<script type="text/javascript">
$(document).ready(function () {
$('#SocialSecurity').on('input', function () {
var newNum = jQuery('#SocialSecurity');
if (newNum.val().contains("x")) {
newNum.val("");
} newNum.clone().attr('alt','999-99-9999').insertAfter('#SocialSecurity').prev().remove();
$('#SocialSecurity').focus();
});
});
</script>

我遇到的问题是我的应用程序有一个 SSN 框,出于安全原因,在页面加载时填充了 xxx-xx-9999。但是,如果用户想要更新它,我会尝试克隆该框,但将格式更改为 999-99-9999。

上面的代码在 Firefox 中运行良好,但在 Chrome 和所有版本的 I.E.该字段不会自动插入 SSN 的破折号。这会导致身份验证失败。

我在研究后尝试过的一些改变没有奏效,

将 attr() 更改为 prop()将 $ 更改为 Javascript

感谢您给我的任何建议。如果我需要提供任何其他信息/代码,也请告诉我。

问候,

最佳答案

我相信这就是您正在尝试做的事情。

JSFiddle

$(document).ready(function () {
$('#SocialSecurity').on('input', function () {
var $ss = $(this);
var ssval = $ss.val();
if (ssval.indexOf("x") > -1) {
$ss.val("");
} else {
ssval = ssval.split(/\D+/g).join('');
ssvals = ssval.match(/(\d{1,3})(?:(\d{1,2})(\d{1,4})?)?/);
if (ssvals) {
ssvals.shift();
ssval = ssvals.filter(Boolean).join("-");
}
$ss.val(ssval);
}
});
});

关于javascript - Jquery - 无法在 Chrome 中自动插入破折号,即克隆后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24762770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com