2016-04-05 15 views
0

İlk aşamaları kullanmaya çalışıyorum ama beklenen sonucu üretmiyor. Sonra enter tuşuna ne zaman kod parçacığı bile primefaces s kullandıktan sonra ilk sütun düğmesini ve beklendiği arama vurur Üstü kodundaEnter tuşuna basılması, beklenen arama düğmesine p: defaultCommand

<h:form id="searchForm" styleClass="searchForm">  
    <p:panelGrid columns="3"> 
     <p:commandButton id="left-overlay-btn" value="" styleClass="xschnapp-search-filter-menu" /> 
     <p:inputText required="true" placeholder="#{cc.attrs.searchTip}" value="#{cc.attrs.queryProperty}" /> 
     <p:commandButton value="&#160;" id="searchButton" action="#{cc.attrs.searchAction}" styleClass="xschnapp-search-action" /> 
    </p:panelGrid> 
    <p:defaultCommand target="searchButton"> 
</h:form> 

aşağıdaki gibidir: defaultCommand.

http://blog.primefaces.org/?p=1787

Birisi elle de başarısız thats, arama butonuna tıklayın javascript kullanmak için bana tavsiye etti. Belki zayıf javascript bilgim nedeniyle. Aşağıda JavaScript ile kod parçacığı ve

<h:form id="searchForm" styleClass="searchForm" onkeypress="if (event.keyCode == 13) {document.getElementById('searchButton').click(); return false}">  
     <p:panelGrid columns="3"> 
      <p:commandButton id="left-overlay-btn" value="" styleClass="xschnapp-search-filter-menu" /> 
      <p:inputText required="true" placeholder="#{cc.attrs.searchTip}" value="#{cc.attrs.queryProperty}" /> 
      <p:commandButton value="&#160;" id="searchButton" action="#{cc.attrs.searchAction}" styleClass="xschnapp-search-action" /> 
     </p:panelGrid> 
</h:form> 

Biri bana yardım edebilir o da isabet İlk sütun düğmesi yerine istediğiniz arama düğmedir.

+0

Neden orijinal sorunuzu geliştirmediniz? https://stackoverflow.com/questions/36330347/hitting-enter-goes-to-wrong-button – Kukeltje

+0

Merhaba Kukeltje, öneriniz için teşekkürler. Bir dahaki sefere aklımda tutacağım. – apts

+0

Yani ya birini ya da diğerini kaldır ... al ... – Kukeltje

cevap

0

Kurumsal sitem için genel kısayol tanımlamasında aynı sorunu yaşadım. benim için çalıştı yaklaşımıdır: imlecin enter tuşuna basarak üzerinde sadece arama fonksiyonunu başlayacak kalır ne olursa olsun bu kod ile

<h:form id="form"> 
    <p:hotkey bind="Enter" update="msg" actionListener="#{yourBean.yourSearchfunction}"/> 
    <p:remoteCommand name="search" actionListener="#{yourBean.yourSearchfunction}" update="msg"/> 
    //Your code 
</h:form> 
<h:outputScript> 
$(':input').bind('keydown', 'Enter', function() { 
    search(); 
    return false; 
}); 
</h:outputScript> 

. Belki de biraz daha ince yapılı olmasını istiyorsanız, p: kısayol tuşu bileşenini yalnızca imleç bir giriş alanı içinde ise arama fonksiyonunuzu başlatmak için kullanabilirsiniz.

Yönlendirme gerekli çünkü p: kısayol tuşu bileşeni, imleç bir giriş alanının içinde kaldığı sürece her yerde çalışır. Böylece, uzaktaki komutanınızı görünümdeki her inputfield içindeki giriş olayına bağlarsınız.

+0

denedim. yaklaşım, onun çalışmıyor :(Çünkü sadece searchButton kimliğine sahibim: Search Action, bu düğmeyle zaten kompozit öğeler tarafından ilişkilendirilir. – apts

İlgili konular