Javascript Jquery-无法在Chrome中自动插入破折号,即克隆后
我是Jquery世界的新手,对下面的代码有问题。我希望你能让我知道我做错了什么Javascript Jquery-无法在Chrome中自动插入破折号,即克隆后,javascript,jquery,internet-explorer,google-chrome,firefox,Javascript,Jquery,Internet Explorer,Google Chrome,Firefox,我是Jquery世界的新手,对下面的代码有问题。我希望你能让我知道我做错了什么 <script type="text/javascript"> $(document).ready(function () { $('#SocialSecurity').on('input', function () { var newNum = jQuery('#SocialSecurity'); if (newNum.val().
<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>
$(文档).ready(函数(){
$(“#社会安全”)。on('input',function(){
var newNum=jQuery(“#社会安全”);
if(newNum.val()包含(“x”)){
newNum.val(“”);
}newNum.clone().attr('alt','999-99-9999')。insertAfter('#SocialSecurity')。prev().remove();
$(“#社会安全”).focus();
});
});
我遇到的问题是,我的应用程序在页面加载时有一个SSN框,出于安全原因,该框填充为xxx-xx-9999。但是,如果用户想要更新,我将尝试克隆该框,但将格式更改为999-99-9999
上面的代码在Firefox中运行良好,但在Chrome和所有版本中,即该字段不会自动插入SSN的破折号。这会导致身份验证失败
我在研究后尝试过的一些改变没有奏效
将attr()更改为prop()
将$更改为Javascript
我很感激你能给我的任何建议。如果我需要提供任何其他信息/代码,请告知我
您好,请试试这个
演示:
我相信这就是你想要做的
你能提供一份工作吗?还有,你为什么要克隆、更新和替换原版,而不仅仅是更新原版?我不完全清楚我们为什么要克隆。这是我接管时的现有代码。我希望稍后能得到上级的答复。我会尽快发布任何更新。谢谢你的帮助!你能确切地说明你想要发生什么吗?初始显示为xxx-xx-9999(9是用户实际的最后4个)?您希望用户能够用数字替换x,但保留格式?是的。我们希望的是,最初的显示是xxx-xx-9999。如果用户需要更新该号码,他们将输入999-99-9999。然后,该框会将格式从xxx-xx-9999更改为999-99-9999。我相信这就是为什么我们要克隆并摧毁最初的盒子。页面加载后,我们无法更改框格式。当我在FF中运行时,这是按预期工作的,但不是在Chrome中,也就是说,为了补充前面的语句,我们可以在所有web浏览器中键入数字,但是FireFox是唯一读取attr('alt','999-99-9999')行并插入破折号的浏览器。其他浏览器只显示数字(999999999),谢谢大家的回复。我现在对JSFIDLE越来越熟悉了。脚本似乎正在进行输入更改,添加了所有9个。当我删除它们时,它仍然不会自动输入破折号。就是这样。感谢大家的帮助!这实际上也有助于解决另一个问题。@Forie25,出于好奇。。。这还有什么用?实际上是个人用的。我正在尝试创建一些简单的应用程序来帮助自己熟悉JS/Jquery。使用此脚本可以添加/更新ssn/dob/电话号码字段。
$(document).ready(function () {
$('#SocialSecurity').on('input', function () {
var newNum = jQuery('#SocialSecurity');
if (newNum.val().indexOf("x")) {
newNum.val("");
} newNum.clone().val('999-99-9999').insertAfter('#SocialSecurity').prev().remove();
$('#SocialSecurity').focus();
});
});
$(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);
}
});
});