2009-08-31 83 views

回答

1

(根据你的评论)如果你想验证它的服务器端,那么你应该看看像一个Ajax库,如Richfaces

此后可以轻松调用Ajax当您更改Ajax调用将更新您在服务器端模型的文本添加到您的输入字段

<h:inputText id="myInput" value="#{myBean.myValue}"> 
    <a4j:support event="onchange" ajaxSingle="true"/> 
</h:inputText> 

。如果您有验证器,则可以将其添加到inputText标记或使用支持标记上的action属性来调用另一个方法。

+0

哇!事实证明,我正在使用richfaces。我现在要给这个镜头... – Ben 2009-09-01 18:15:35

+0

这个工程!非常感谢您的帮助!但是,我确实有一个挑剔的问题。如果我对一个会导致确认提示出现的字段进行更改(这发生在用户单击“保存”按钮时发生,因为需要一起验证多个字段),然后直接转到保存按钮,提示不出来。但是,如果我点击其他字段(失去焦点并因此导致模型更新),然后单击保存,将显示确认提示。所以问题是,可以在保存按钮中使用模糊处理吗? (我已经在使用onClick进行提示) – Ben 2009-09-01 19:30:20

+0

我不确定你的意思。什么导致确认提示出现? – Damo 2009-09-01 19:40:33

1

我真的不明白你在找什么...

有了这个代码:

<h:form id="myForm"> 
    <h:inputText id="myInput" value="#{myBean.myValue}"/> 

输入字段的值,在HTML页面的创建将等于bean的myBeanmyValue的值。

如果该值由用户更改,则JSF将在提交表单时自动更新myBean.myValue的值。

如果需要使用Javascript功能来获得在客户端,即输入的值,你需要做下面的代码:

<script type="text/javascript"> 
    function getInputTextValue() { 
     var valueOfInput = document.getElementById("myForm:myInput").value; 
    } 
</script> 

请注意,您必须通过的该ID前缀标识包含输入的表单(“** myForm:** myInput”)。

+0

感谢您的彻底回应!基本上,我需要做的是接受输入并在服务器端进行验证(对此有一个相当大的bean方法)。然后,如果验证失败,我想给用户一个警告对话,最好用javascript,因为这似乎是最简单的方法。现在我知道如何使用javascript获取当前的字段值,我将看看是否有方法调用bean方法并使用返回值执行操作。 – Ben 2009-09-01 16:49:12