0

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

由于它是一个金额字段,它应该只接受正值。

我的示例代码在这里:

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

1 回答 1

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;
">

请注意,表单控件的值是字符串,因此使用+运算符时要小心。如果您不小心,它将进行连接而不是加法。

于 2013-11-04T06:30:17.927 回答