2012-06-07 24 views
1

我有一個跨度的兩個組件,一個搜索字段和一個命令按鈕。命令按鈕用於分隔任務。因此,當輸入字段得到關注並且用戶點擊輸入時,它應該重定向到搜索結果頁面,並且不應調用命令按鈕。a4j:commandButton在命中時調用輸入

<s:span> 
    <h:inputText value="#{search.input}" onkeypress="performSearch(event)"/> 
    <a4j:commandButton image="icon.jpg" action="#{some action}" ajaxSingle="true"> 
    </a4j:commandButton> 
</s:span> 

performSearch是一個javascript函數,它調用Enter上的實際搜索。

現在,命令按鈕的操作在輸入輸入字段時被調用。任何想法解決它?

回答

0

當Enter鍵被按下時,onkeypress應返回false。這將阻止輸入鍵的默認操作。

這樣的話,

onkeypress="return performSearch(event)" 

的東西,如

function performSearch(event) { 
    // ... 

    if (notEnterPressed) { 
     return true; 
    } 

    // Perform search. 
    // ... 

    return false; 
} 
+0

謝謝!有用。 – eelpa

+0

嗨,我試着在Firefox 10和IE9上運行。但在FF的早期版本中,如FF3和IE7,問題仍然存在。任何想法解決它? – eelpa

+0

這是特定於'onkeypress'屬性。如果你想支持舊瀏覽器,也可以使用'onkeydown'(或'onkeyup')。 – BalusC

相關問題