Tombol perintah wajah utama tidak berfungsi setelah diaktifkan

Saya mencoba mengaktifkan tombol perintah setelah bilah kemajuan selesai, tetapi ketika saya memuat halaman, tombol perintah sudah diaktifkan, selain itu berfungsi dengan baik.

Saya telah melakukan beberapa penelitian dan masalah serupa: commandButton tidak berfungsi saat dinonaktifkan=“true ” awalnya Namun solusinya tidak berhasil untuk saya.

Apa yang saya lakukan salah? Apakah ada sesuatu yang saya lewatkan?

Ini adalah indeks.xhtml

            <p:growl id="growl" />
            <h3>Deskarga</h3>
            <p:messages id="messages" showDetail="true" autoUpdate="true"
                closable="true" />
            <p:commandButton value="Start" type="button"
                onclick="pbAjax.start();startButton2.disable();"
                widgetVar="startButton2" />
            <p:commandButton value="Cancel"
                actionListener="#{progressBean.cancel}"
                oncomplete="pbAjax.cancel();startButton2.enable();" />

            <p:progressBar widgetVar="pbAjax" ajax="true" rendered="true"
                value="#{progressBean.progress}" labelTemplate="{value}%"
                styleClass="animated" interval="250">
                <p:ajax event="complete" listener="#{progressBean.onComplete}"
                    update="messages"
                    oncomplete="startButton2.enable();#{progressBean.setDisabled(false)};"/>
            </p:progressBar>


            <p:separator id="separator2" />

            <p:commandButton value="Parseatu" widgetVar="parserButton" ajax="true"
                disabled="#{progressBean.disabled}" actionListener="#{progressBean.parseatu()}"
                update="growl" />

        </h:form>

Dan ini adalah kacang terkelola dalam cakupan sesi:

public class ProgressBean implements Serializable {  

    private boolean disabled= true;



    public boolean isDisabled() {
        return disabled;
    }

    public void setDisabled(boolean disabled) {
        this.disabled= disabled;
    }

}  

person GorkaElge    schedule 26.05.2013    source sumber


Jawaban (1)


Pertama, Anda tidak dapat memasukkan metode dalam atribut yang lengkap. Ini seharusnya tidak berhasil

oncomplete="startButton2.enable();#{progressBean.setDisabled(false)};"

Jika selain Anda ingin menonaktifkan komponen ProgressBar menggunakan atribut oncomplete, Anda harus memanggil fungsi javascript. Untuk ini dapat menggunakan RemoteCommand atau setidaknya memperbarui atribut yang dinonaktifkan pada metode pendengar

Kedua.

ketika saya memuat halaman, tombol perintah sudah diaktifkan, selain itu berfungsi dengan baik.

Komponen CommandButton memiliki atribut disabled di false sebagai default. Jika Anda ingin menampilkan atribut yang dinonaktifkan, letakkan disabled di true

person Cesar Miguel    schedule 26.05.2013
comment
Terima kasih atas jawabannya, saya akan mencoba menggunakan RemoteCommad, saya mempelajari PrimeFaces dan saya hanya mengetahui elemen yang paling umum. - person GorkaElge; 28.05.2013
comment
Ini menyelesaikan masalah saya, terima kasih! Tetapi saya juga harus menambahkan konstruktor ke nilai pengaturan kacang yang dinonaktifkan menjadi benar. - person GorkaElge; 31.05.2013