【问题标题】:Nesting Math Functions in Javascript在 Javascript 中嵌套数学函数
【发布时间】:2020-04-28 18:09:44
【问题描述】:

我正在处理一个 Acrobat 表单,它应该只接受字段中的正整数。

如果简单地重新调整数字以适应标准,这是理想的。例如,如果用户键入“-1.4”,它应该简单地更改为“1”。

是否可以将其用作字段的“验证脚本”:

if (event.value) event.value = Math.abs(Math.round(event.value));

似乎可以,但是一般嵌套这样的函数可以吗,还是会导致问题。

【问题讨论】:

  • 您可以改为使用击键事件来只允许输入数字。没有字母,没有破折号,也没有句点。
  • @joelgeraci 我上面的解决方案是否容易出现问题/中断?我无法让按键事件起作用。
  • 在验证事件期间更改字段的值通常是个坏主意。这是一个验证事件。

标签: forms acrobat


【解决方案1】:

不要在验证事件期间更改值,而是首先防止输入无效值。要只允许输入不带破折号的数字,请将以下内容添加到自定义击键事件中。

event.rc = !(/[a-zA-Z\-]/.test(event.change));

您可能还想修改正则表达式以阻止其他字符。我只是做了最低限度的。请记住,您需要允许删除键、返回键和退格键,因此您不能只将正则表达式限制为 0-9(这是显而易见的事情)。

【讨论】:

  • 使用下面的只允许数字/删除/进入/制表符--event.rc = /^\d*$/.test(event.change);我知道我不应该,但是谢谢!
猜你喜欢
  • 2022-10-21
  • 1970-01-01
  • 2019-09-16
  • 2013-11-15
  • 2019-05-23
  • 2012-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多