这个问题已经被问到,但解决方案还不清楚。
我正在使用Josh Bush的jQuery的MaskedInput插件
我想要实现的是:
例如:带有面具的电话输入
$("#txtPhone").mask("(99)9999-9999");
EQUALS:(00)9398-8373
我希望它提交:0093988373
------是否可以在提交时删除.mask但保留值?
答案 0 :(得分:23)
我想你想使用unmask
$("#myForm").submit(function() {
$("#txtPhone").unmask();
});
答案 1 :(得分:10)
初始化输入掩码时将removeMaskOnSubmit设置为true
$("#txtPhone").inputmask({removeMaskOnSubmit: true});
答案 2 :(得分:7)
基于Plugin Site:
$("#txtPhone").val($("#txtPhone").mask());
答案 3 :(得分:1)
如果您使用完成的回调,则可以使用:
$(element).mask("(99)9999-9999", {
completed : function () {
var numbers = this.val().replace(/()-/g,'');
}
}
否则,您可以使用:
$(element).val().replace(/()-/g,'');
如果您想在提交之前执行此操作,我建议使用上面的代码捕获提交事件,然后提交表单。
编辑: Alex Peattie指出了unmask()
功能,我必须说这是一个比我更好的解决方案。我会在这里留下我的答案,但我会选择他的解决方案。
答案 4 :(得分:1)
unmask不是功能。这是我的使用方式。 autoUnmask:true
$('#amount').inputmask('999.999.999.999', {
numericInput: true,
autoUnmask: true,
});
答案 5 :(得分:0)
您还可以使用
在蒙板输入上提取原始值B || A
来源:https://github.com/digitalBush/jquery.maskedinput/issues/318
示例强>
如果您使用带有此类掩码的$("#YourSelector").data( $.mask.dataName )();
输入:
phone
您可以使用以下方式提取用户输入:
$(".phone").mask("99 99 99 99 99")
答案 6 :(得分:0)
假设您提交的输入不止一个,您可以使用:
// unmask all inputs, before savinf;
$(FormObj+" input[type=text]").each(function() {
$(this).unmask();
});
其中FormObj是您的表单对象ID,例如#form。