Sono riuscito a ottenere l'evento click del pulsante fino a quel momento funzionante seguendo la documentazione. Ciò di cui sto lottando ora è l'attivazione a livello di codice dell'evento click del componente ADF.Trigger/Simulate Fare clic su evento a livello di programmazione tramite ClientListerner
Il codice sorgente è il seguente:
<af:showDetailItem id="pane1" text="Panel Label 1" disclosed="true">
<af:commandButton text="commandButton 1" id="cb1">
<af:clientListener method="showNext" type="action" />
</af:commandButton>
</af:showDetailItem>
<af:showDetailItem id="pane2" text="Panel Label 2">
<af:commandButton text="commandButton 2" id="cb2">
<af:clientListener method="showNext" type="action" />
</af:commandButton>
</af:showDetailItem>
<af:showDetailItem id="pane3" text="Panel Label 3">
<af:commandButton text="commandButton 3" id="cb3">
<af:clientListener method="showNext" type="action" />
</af:commandButton>
</af:showDetailItem>
Javascript
function showNext(evt){
var src = evt.getSource();
var showDetailItemNode = src.getParent(); // targets the showDetailItem tag
/* how do I trigger the click event of this node */
}
Quindi, in pratica quello che sto cercando di realizzare è che quando il pulsante # CB1 viene cliccato, voglio simulare il click evento di showDetailItem # pane1 e così via ...
Come scrivere JavaScript dipende l'albero DOM HTML (probabilmente già sapete, JS corre nel browser web, non in server web). Pochissime persone usano l'ADF di Oracle e ancora pochissimi si provano da soli o raccontano da capo come l'output HTML generato dell'XHTML sovrastampato assomiglia. Altre persone non sono interessate a installare Oracle ADF solo per capire l'effettivo output HTML generato. In altre parole, hai una maggiore possibilità in una risposta se includi l'output HTML generato, o completamente reframe la domanda per includere HTML in un vero sapore MCVE e retarget agli utenti di '[html]'. – BalusC
@BalusC Giusto abbastanza. Ma suppongo che l'uso di javascript nell'HT generato non sia la migliore pratica da seguire (anche se farebbe il lavoro) poiché ADF ha il suo modo raccomandato di gestire le interazioni lato client. Usare javascript sull'HTML generato è un'opzione ed è qualcosa che posso fare da solo, ma non voglio seguire l'approccio dato nella documentazione dell'ADF; cioè, tramite l'uso del tag 'clientListener'. – asprin
Non sono sicuro se questa è la risposta in quanto non so nulla di ADF e tanto meno il suo output HTML generato, ma questo può essere un suggerimento utile nella giusta direzione: se l'elemento DOM HTML in questione ha un attributo 'onclick', allora potresti attivarlo tramite solo 'element.onclick()'. Oppure, se vuoi simulare un clic del mouse sull'elemento HTML DOM, quindi fai semplicemente 'element.click()', che genererà il suo 'onclick', se ce n'è uno, e poi esploderà nell'albero DOM a seconda del suo ritorno valore. – BalusC