2009-08-31 81 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