【问题标题】:jquery inputmask with empty value submits 0.00 instead of empty string具有空值的 jquery inputmask 提交 0.00 而不是空字符串
【发布时间】:2015-09-16 06:17:32
【问题描述】:

我正在使用带有最新版本的 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”而不是空值(“”)。如果用户没有填充表单,我希望表单始终提交“”,但我不知道如何让 inputmask 做到这一点。即使将 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>

【问题讨论】:

    标签: jquery jquery-inputmask


    【解决方案1】:

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

    首先是编写服务器端逻辑,拦截表单发送的“0.00”值,并将其转换为空字符串值。此解决方案可保持数据完整性,但如果在大型站点中多次使用 jquery-inputmask,则可能需要长时间编码。

    第二个是恢复到较早的 jquery-inputmask 版本,例如 3.1.64。我选择了这个解决方案,因为我的站点不需要 3.1.64-86 中引入的任何更改。

    【讨论】:

      猜你喜欢
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 2015-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      相关资源
      最近更新 更多