文本字段不应接受零或负值?只允许正值

时间:2013-11-04 06:11:13

标签: javascript jquery html forms input

文本字段不应接受零或负值。

由于它是一个金额字段,因此只允许接受正值。

我的示例代码在这里:

<td><spring:message code="amount"/><spring:message code="label.mandatory"/></td>
<td><form:input path="amount" /></td>

1 个答案:

答案 0 :(得分:1)

以编程方式更改控件的值不会调度更改事件,因此要么将该逻辑作为更改值的一部分,要么自行调度更改事件。

最好设置名称输入的默认值(如果它具有数字值,这似乎是不合适的名称,特别是如果表单具有名称)为零并使其成为只读。此外,将代码移动到一个函数中。但这是基于原始解决方案的解决方案:

<input type="text" name="name" value="0" readonly>
<input type="button" value="up" onclick="
  this.form.name.value = ++this.form.name.value;
">
<input type="button" value="down" onclick="
  var el = this.form.name;
  var value = el.value;
  el.value  = value < 1? 0 : --value;
">

请注意,表单控件的值是字符串,因此请谨慎使用+运算符。如果你不小心的话,它会连接而不是添加。