0

Richfaces ajaxvalidator 或 ajax 中是否有一种方法可以支持用户从输入文本中写入到他写入除数字以外的其他内容时。换句话说,当用户输入 NaN 时,是否可以禁用 inputText 字段。

例如:如果用户尝试写 : "11a" ,有没有办法阻止用户写 a?所以当他按下“a”时,会出现输入不是数字的警告。

这是jsf代码:

<h:inputText id="price" value="#{carBB.price}" required="true">
    <rich:ajaxValidator event="onkeypress"/>                
</h:inputText>

这是在 bean 代码中:

@NotNull
private double price;

public double getPrice() {
return price;
}

public void setPrice(int price) {
this.price = price;
}

在我的代码中,当用户编写 NaN 时会出现警告,但这并不妨碍他编写它。

4

2 回答 2

0
<h:inputText id="myId" value="#{myBean.value}" 
             onkeypress="if((event.which &lt; 48 &amp;&amp; event.which != 44 &amp;&amp; event.which != 46) || event.which &gt; 57) return false;"/>

这将允许数字、逗号和点。

于 2013-07-25T19:48:21.593 回答
0

我最终得到了这个对我来说很好的结果,只允许双打:\

在标题中:

<script type="text/javascript">
function disableKeys(e,exist)
{
    var unicode=e.keyCode;
    var value = exist.value;
    if((unicode< 0x30 && unicode != 0x2E) || unicode> 0x39) 
    {
        alert("Invalid Input should be number or \".\"");
        return false;
    }
    else if(unicode == 0x2E && value.indexOf(".")>=0)
    {
        alert("Invalid Input already contains a \".\"");
        return false;
    }
    else
    {
        return true;
    }

}
</script>

体内:

<h:inputText id="price" value="#{carBB.price}" onkeypress="return disableKeys(event,this);"/>
于 2013-07-29T15:18:51.193 回答