Erste JSF-Komponente definiert mit Javascript

Ich bin erstellen einer Benutzeroberfläche mit JSF, und ich möchte den Wert eines Textfeldes zu bieten, die standardmäßig für eine zweite wenn die zweite wurde noch nicht festgelegt. Der entscheidende code sieht etwa so aus:

<h:outputScript>
function suggestValue2() {
    var value2 = document.getElementById('value2').value;
    if (value2 == "") {
        document.getElementById('value2').value = document.getElementById('value1').value;
    }
}
</h:outputScript>

<h:inputText
    id="value1"
    onblur="suggestValue2();" />

<h:inputText
    id="value2" />

Das problem ist das nicht wirklich funktionieren. Die tatsächlichen IDs der beiden input-Elemente mit dem Präfix " einige JSF-generierte Werte, die tanks, die getElementById Anrufe. Was ist der beste Weg für mich, das zu schaffen, was ich versuche zu erreichen, hier?


Edit: ich sollte anmerken, dass das erscheinen in einem composite-Bauteil, das könnte wind-up erscheinen mehrmals auf eine einzelne Seite. JSF dynamisch Einstellung der tatsächlichen ID repräsentiert gewünschte Verhalten.

  • Der einfachste Weg, um dieses Problem zu lösen wäre mit prependId="false" in der form. Ein anderer Weg wäre, es zu finden, mit der Formular-id und die id der Komponente, wie myFormId:value1, wie vorgeschlagen, hier.
InformationsquelleAutor BlairHippo | 2013-01-18
Schreibe einen Kommentar