我正在使用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>
答案 0 :(得分:1)
在我自己遇到这个问题之后,我看到了两个可行的解决方案。
第一种是编写服务器端逻辑来拦截&#34; 0.00&#34;表单发送的值并将它们转换为空字符串值。此解决方案可维护数据完整性,但如果在大型站点上多次使用jquery-inputmask,则可能需要长时间编码。
第二种是恢复到早期的jquery-inputmask版本,例如3.1.64。我之所以选择此解决方案,是因为我的网站不需要3.1.64-86中引入的任何更改。