【问题标题】:HTML input text: hide charaters without removing themHTML 输入文本:隐藏字符而不删除它们
【发布时间】:2021-09-01 21:10:16
【问题描述】:

希望你能帮助我:我有一个 HTML-PHP 软件,它可以精确地使用 5 位小数进行计算。 关键是,我需要它始终为 5 位小数进行计算;但我只想向用户显示 2 位小数而不删除其他 3 位小数(5 位小数必须始终在页面中,但只有前两位小数可见)。有没有办法做到这一点?我将添加一张它现在的样子的图片:

【问题讨论】:

    标签: javascript php html jquery


    【解决方案1】:

    在回显数据时使用 number_format() 函数

    <?php echo number_format((float)$number, 2, '.', ''); ?>
    

    【讨论】:

    • 我不能这样做,因为我无法更改输入值,因为我必须稍后通过 ajax 将它们传递给 php 才能进行计算。
    • 它不影响 $number 的值。只返回格式化的值而不改变 $number 的值。像这样回显后尝试回显您的号码
    【解决方案2】:

    最好有一些代码来制定正确的答案,但只是在这里跳出框框思考:

    如果我理解正确,问题是您希望用户看到变量的 2 位小数版本,但您仍想保留该变量的原始 5 位小数版本并对其进行计算?

    如何使用 2 个变量,一个用于显示,一个用于计算。它们的行为就像相互镜像,每次主变量更改时,您也会更改显示变量

    【讨论】:

    • 这是我在发布问题之前的想法。但我不想使用它,因为我必须更改大量代码,比如 4 个文件。但这就是我最终要做的。谢谢。
    【解决方案3】:

    您可以按照我之前提出的解决方案在文本框中显示数字

    <input type="text" id="shownumber01" name="shownumber01" value="<?php echo number_format((float)$number, 2, '.', ''); ?>">
    

    此外,为了稍后通过​​ ajax 传递带有所有小数点的数字,您可以使用隐藏值的顺序

     <input type="hidden" id="fullnumber01" name="fullnumber01" value="<?php echo number_format((float)$number, 6, '.', ''); ?>">
    

    无论如何,文本框似乎都是只读的,但如果不是,您可以使用 javascript 查看数字掩码,在快速谷歌搜索上有很多在线选择。

    圣地亚哥 G.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      • 2020-09-10
      • 2016-01-23
      • 1970-01-01
      • 1970-01-01
      • 2014-05-25
      相关资源
      最近更新 更多