在表单

时间:2018-01-18 05:52:04

标签: php html

我希望用纯HTML来解决这个问题。我怀疑解决方案可能不存在,我愿意学习PHP解决方案。如果那也不存在,我将学习我必须的任何语言。

以下面的表格为例

<form>
    Price $<input type="number" name="price"><br>
</form>

用户可能不会立即明白此字段是否接受美分和美元。 (例如,按1.10美元键入1.1。)

当我向顾客询问他们想要订购多少公斤时,同样的问题就会出现,他们不会立即明白,他们可以通过输入&#34; 0.1&#34;来订购100克。

我希望这个领域能够以#34; .00&#34;单击时左侧出现光标,但只要用户键入&#34;。&#34;它会覆盖现有的&#34;。&#34;。当用户键入更多数字时,前两位数字应覆盖现有的0,其他数字将被禁用。

这样,系统会提示用户考虑是否要指定一定数量的分(按价格计算)或克数(重量),而不会使用居高临下的文本字段来解释小数点是什么。

是否存在HTML解决方案?如果没有,还有其他解决方案吗? (我不知道任何解决方案。)

示例

我的回答中似乎有一些混乱,因为我要求的是什么,所以我创造了一个快速而又肮脏的例子:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <form>
        <br><br><br>
        Price $<input style="text-align:right" type="number" name="price" value=".00">
    </form>
</body>
</html>

(我知道,标签内的样式属性,我会永远燃烧到地狱。)

使用这个和photoshop,我创建了一个模拟我想要的功能,漫画风格。 See it in action!

如图所示,我已经知道如何获得初始状态。我认为通过一段快速代码可以实现这一点,但如果不能,我将问题分解为下面的核心组件:

  1. 当用户点击小数点右侧时,如何将光标移动到小数点前面?
  2. 如何使文本用新的小数点覆盖初始小数点,并让它继续覆盖?
  3. 如何禁止额外的小数点?
  4. 如何禁止用户写入超过预定位数的数字? (二,在上面的例子中)
  5. 如何使用0?
  6. 自动替换已删除的字符(例如退格)

    向任何能够回答至少上述问题之一的人投票,或至少揭示回答上述问题之一的宝贵见解。

    抱歉,这个问题比我原先想象的要复杂得多。

    更新

    我开始期望PHP解决方案也不存在。我对编码还很陌生,所以我可能完全错了,但这就是原因:

    PHP是一种服务器端语言,此任务需要客户端的实时即时功能,而无需等待服务器验证其删除小数点的请求。

    此功能对于html和CSS来说过于具体和先进。因此,必须通过其他方式实现。我仍然会在这里留下这个问题,以防有人想要答案,但我对其他语言(如JavaScript)的了解还不够先进,无法将单个核心组件答案编译成一个最后的功能性答案......

    所以我会忙着自己使用我所需要的技能更新我的网站。即使我已经准备好学习一门新语言,这也是一个过于先进的问题,无法立即解决。但是,当我学习新功能时,如果我发现可以解决这个问题的东西,我会在这里发布完整的代码,供社区参考。

0 个答案:

没有答案