0

オプションを追加すると、p:commandButton送信が停止します。なぜこうなった?actionListenersdisabled

ボタンを有効p:selectOneListboxにする前に、何かを選択する必要があります。OK

<p:selectOneListbox value="#{FileSelectBean.fileNameSelected}">  
  <f:selectItems value="#{FileSelectBean.fileNames}" />
  <p:ajax update=":formFileSelect:okId" />
</p:selectOneListbox>  

そして、私はOKボタンを持っています:

<p:commandButton id="okId" value="OK" 
    type="submit" update=":formEncryptionDialog" 
    actionListener="#{FileSelectBean.actionOk}" 
    oncomplete="dlgFileSelect.hide();"
    disabled="#{FileSelectBean.fileNameSelected.isEmpty()}">
</p:commandButton>

バッキング Bean:

private String fileNameSelected = "";

すべてがなくても問題なく動作しdisabled="#{FileSelectBean.fileNameSelected.isEmpty()}"ます。これを追加すると、OKボタンは適切に有効/無効になりますが、ボタンをクリックすると呼び出しが停止FileSelectBean.actionOkします。

何が悪かったのか?

編集:ボタンを削除<p:ajax update=":formFileSelect:okId" />して別の方法で更新しましたが、役に立ちませんでした。したがって、ajaxin とは関係ありませんselectOneListbox

4

1 に答える 1

0

これを試して:

<p:selectOneListbox id="primeOneListBox" value="#{FileSelectBean.fileNameSelected}">` 
     <f:selectItems value="#{FileSelectBean.fileNames}" />
     <p:ajax event="change" update=":formFileSelect:okId" process=":formFileSelect:primeOneListBox" />
</p:selectOneListbox>

そして、選択後にfileNameSelectedセッターメソッドが呼び出されるかどうかを確認します

于 2013-03-19T19:07:03.500 に答える