带空值的jquery输入掩码提交0.00而不是空字符串

时间:2015-06-29 17:06:58

标签: jquery jquery-inputmask

我正在使用jquery inputmask和最新版本,今天下载(v.3.1.64-86)。

我有一个简单的“OvertimeFee”文本输入,并使用下面的代码在其上设置了掩码。

$('#OvertimeFee').inputmask('currency', {
    'autoUnmask': true,
    'removeMaskOnSubmit': true,
    'clearMaskOnLostFocus': true,
    'clearIncomplete': true,
    'prefix': '',
    'rightAlign': false,
    'showMaskOnHover': false
});

加载页面时没有绑定初始值,并且在提交表单时用户不需要填写该字段

我遇到的问题是,每当用户将字段留空或输入值然后将其删除时,表单始终提交“0.00”而不是空值(“”)。如果用户没有填充它,我希望表单始终提交“”,但我无法弄清楚如何使输入掩码这样做。即使将autoUnmask和removeMaskOnSubmit设置为true,它仍然会提交“0.00”。

有谁知道如何解决这个问题?我没有找到github问题的运气。

感谢。

FWIW,页面中包含和使用的脚本是:

<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/jquery.inputmask/inputmask.js"></script>
<script src="~/Scripts/jquery.inputmask/jquery.inputmask.js"></script>
<script src="~/Scripts/jquery.inputmask/inputmask.numeric.extensions.js"></script>

1 个答案:

答案 0 :(得分:1)

在我自己遇到这个问题之后,我看到了两个可行的解决方案。

第一种是编写服务器端逻辑来拦截&#34; 0.00&#34;表单发送的值并将它们转换为空字符串值。此解决方案可维护数据完整性,但如果在大型站点上多次使用jquery-inputmask,则可能需要长时间编码。

第二种是恢复到早期的jquery-inputmask版本,例如3.1.64。我之所以选择此解决方案,是因为我的网站不需要3.1.64-86中引入的任何更改。