【问题标题】:How to Include space on number input?如何在数字输入中包含空格?
【发布时间】:2023-04-10 10:13:01
【问题描述】:

如何包含空格(不是文本, 输入类型上只有空格和数字)? 当我尝试我的代码时,它只包含数字

这是我的代码:

<form action="/action_page.php"><input type="number"/><input type="submit"</form>

【问题讨论】:

  • 你不能用类型“数字”来实现这一点,因为规范只允许它存储一个数字。尽管使用 JS 可以解决问题,但不建议这样做,因为您不再遵守类型的规范。
  • 请描述您想要什么以及您尝试过的所有内容!关于你想要实现的问题,你只接受输入中的数字和空格??
  • 如果在 html 中不可能,那么请告诉我如何在 javascript 上做到这一点。

标签: html forms


【解决方案1】:
<form action="/action_page.php">
    <input type="text" pattern="[0-9 ]+" />
    <input type="submit"</form>

您可以使用输入文本并添加模式"[0-9 ]+"

【讨论】:

  • 它不工作。文本也包括在内。我的意思只是空间和数字。
  • function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : event.keyCode ; if (charCode > 31 && (charCode 57 || charCode == 30)) 返回 false;返回真; } 。您可以在输入的 onChange 上调用此方法。
  • 它不允许你添加任何东西,除了数字和空格。
【解决方案2】:

您需要使用type="text" 进行输入,以便根据需要格式化您的值。 type="number" 不适用于这种格式。

const formatter = new Intl.NumberFormat('fr-FR');

<input
  type="text"
  value={formatter.format(value)}
/>

【讨论】:

  • 请用英文。
【解决方案3】:

这不是很容易做到。我认为最好的办法是使用库,例如​​cleave.js

【讨论】:

    猜你喜欢
    • 2012-07-14
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 2020-06-18
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多