2017-10-26 11 views
0

p:selectOneMenuを使用するとPrimeface v6.1にバグがあるようですが、モーダルダイアログを表示するときにフォーカスを維持します。矢印キーを上下に使用して、selectOneMenuの選択を変更することができます。私がp:selectOneMenuをh:selectOneMenuに置き換えると、期待どおりに動作します。任意のアイデアはどのように入力1フィールドにフォーカスを移動することができますか?p:selectOneMenuはフォーカスを維持します

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html> 
<html 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://xmlns.jcp.org/jsf/html" 
    xmlns:p="http://primefaces.org/ui" 
    xmlns:f="http://xmlns.jcp.org/jsf/core"> 
<h:head>  
</h:head> 
<h:body> 
    <h:form id="form"> 
    <!-- PF('statusWidget').blur();document.activeElement.blur(); --> 
    <p:selectOneMenu id="status" widgetVar="statusWidget" 
        onchange="PF('dlg').show();" value="test1"> 
     <f:selectItem itemValue="test1" itemLabel="TEST_1"/> 
     <f:selectItem itemValue="test2" itemLabel="TEST_2"/> 
     <f:selectItem itemValue="test3" itemLabel="TEST_3"/> 
    </p:selectOneMenu> 
    <!-- onShow="document.activeElement.blur();" -->  
    <p:dialog widgetVar="dlg" modal="true" focus="input1"> 
     <p:inputText id="input1" widgetVar="test"/> 
    </p:dialog> 
    </h:form> 
    </h:body> 
</html> 
+0

「focus = "input1"」でも助けになりません。 – Kukeltje

+0

@Kukeltjeそう、フォーカス= "input1"であっても動作しません。 – tak3shi

答えて

0

これは、focus()の遅延呼び出しを追加することでこれを解決しました。

onchange="PF('dlg').show();setTimeout(function() { $('#form:input1').focus() },10)" 
関連する問題