Jquery在页面加载/立即隐藏文本字段中的所有但最后四位数字

时间:2013-08-19 15:12:52

标签: jquery hide textfield mask

我有一个脚本,在用户输入数据后,成功隐藏了模糊后9位数字的最后四位数字。我需要调整它以供第二次使用。我希望能够动态地将从一个表单输入的9位数字调用到另一个表单中的新文本字段(我可以做到这一点),但我希望在页面加载时立即隐藏前五个数字,而不是用户专注于该字段后,离开该字段。这样我们就可以在以第一种形式进入社交状态后以第二种形式显示用户社交的最后四个。这是我目前的剧本:

jQuery(function ($) {
    var retrieveValue = function (ev) {
        var $this = $(this),
            val = $this.data(‘value’);

        if (val) {
            $this.val(val);
        }
    },
    hideValue = function (ev) {
        var $this = $(this);

        $this.data(‘value’, $this.val());
        $this.val(function (idx, val) {
            var mask = val.match(/^(.*?)(d{4})$/);

            return (mask[1] ? mask[1].replace(/d/g, ‘ * ’) : ”) + (mask[2] ? mask[2] : ”)
        });
    };

    $(‘#field_a7afui’).focus(retrieveValue);

    $(‘#field_a7afui’).blur(hideValue);

    $(‘#form_hv3hcs’).submit(function (ev) {
        ev.preventDefault();
        retrieveValue.call($(‘#field_a7afui’)[0], ev);
        alert($(‘#field_a7afui’).val());
        hideValue.call($(‘#field_a7afui’)[0], ev);
    });
})();

这是一个小问题:http://jsfiddle.net/d5KaJ/53/

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

在客户端的表单之间传输用户的SSN会带来安全问题。您应该考虑在服务器上存储SSN并让服务器返回类似*****1234的内容以加载到其他表单中。