表单提交后从输入掩码中删除文字吗?

发布于 2024-12-11 12:57:40 字数 269 浏览 0 评论 0原文

这个问题已经被问过,但解决方案尚不清楚。

我使用 Josh Bush 的 MaskedInput 插件来实现 jQuery

我想要实现的是:

例如:带有掩码的电话输入

    $("#txtPhone").mask("(99)9999-9999");

等于:(00)9398-8373

我希望它提交:0093988373

------ 是否可以删除.mask 提交但保留值?

this question has already been asked but the solutions where not clear.

Im using Josh Bush's MaskedInput plugin for jQuery

What im trying to achieve is:

E.g: a phone input with the mask

    $("#txtPhone").mask("(99)9999-9999");

EQUALS: (00)9398-8373

i want it to submit : 0093988373

------ Is it possible to remove the .mask on submit but keep the value?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

鸩远一方 2024-12-18 12:57:40

我认为你想使用unmask

$("#myForm").submit(function() {
  $("#txtPhone").unmask();
});

I think you want to use unmask

$("#myForm").submit(function() {
  $("#txtPhone").unmask();
});
南巷近海 2024-12-18 12:57:40

初始化 inputmask 时将removeMaskOnSubmit 设置为 true

    $("#txtPhone").inputmask({removeMaskOnSubmit: true});

Set removeMaskOnSubmit as true when you initialize the inputmask

    $("#txtPhone").inputmask({removeMaskOnSubmit: true});
梦醒灬来后我 2024-12-18 12:57:40

基于插件站点

$("#txtPhone").val($("#txtPhone").mask()); 

Based on Plugin Site:

$("#txtPhone").val($("#txtPhone").mask()); 
这样的小城市 2024-12-18 12:57:40

unmask 不是一个函数。这是我的使用方式。 autoUnmask:true

    $('#amount').inputmask('999.999.999.999', {
        numericInput: true,
        autoUnmask: true,
    });

unmask is not a function. This is my way of use. autoUnmask: true

    $('#amount').inputmask('999.999.999.999', {
        numericInput: true,
        autoUnmask: true,
    });
酒与心事 2024-12-18 12:57:40

如果您使用的是完成的回调,那么您可以只使用:

$(element).mask("(99)9999-9999", {
  completed : function () {
    var numbers = this.val().replace(/()-/g,'');
  }
}

否则,您可以使用:

$(element).val().replace(/()-/g,'');

如果如果您想在提交之前执行此操作,我建议捕获提交事件,使用上面的代码,然后提交表单。

编辑: Alex Peattie 指出了 unmask() 函数,我必须说这是一个比我的更好的解决方案。我将在这里留下我的答案,但我会采用他的解决方案。

If you are using the completed callback, then you can just use:

$(element).mask("(99)9999-9999", {
  completed : function () {
    var numbers = this.val().replace(/()-/g,'');
  }
}

Otherwise, you can use:

$(element).val().replace(/()-/g,'');

If you want to do this before submitting, I suggesting capturing the submit event, using the code immediately above and then submitting the form.

EDIT: Alex Peattie pointed out the unmask() function, which I must say is a much better solution than mine. I'll leave my answer here, but I'd go with his solution.

猫弦 2024-12-18 12:57:40

您还可以使用 Source 提取屏蔽输入上的原始值

$("#YourSelector").data( $.mask.dataName )();

https://github.com /digitalBush/jquery.maskedinput/issues/318

示例
如果您使用带有此类掩码的 phone 输入:

$(".phone").mask("99 99 99 99 99")

您可以使用以下方式提取用户输入:

$(".phone").data($.mask.dataName)() 
// will produce "0102030405" while the masks displays 01 02 03 04 05

You can also extract the raw value on a masked input using

$("#YourSelector").data( $.mask.dataName )();

Source : https://github.com/digitalBush/jquery.maskedinput/issues/318

Example
If you use a phone input with such a mask :

$(".phone").mask("99 99 99 99 99")

you can extract the user input using :

$(".phone").data($.mask.dataName)() 
// will produce "0102030405" while the masks displays 01 02 03 04 05
高跟鞋的旋律 2024-12-18 12:57:40

假设您提交的输入不止一个,您可以使用:

// unmask all inputs, before savinf;
$(FormObj+" input[type=text]").each(function() {
    $(this).unmask();
});

其中 FormObj 是您的表单对象 ID,例如#form。

Assuming you have more than just one input being submitted, you could use:

// unmask all inputs, before savinf;
$(FormObj+" input[type=text]").each(function() {
    $(this).unmask();
});

where FormObj is your form object id, such as #form.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文