Domanda

Il mio obiettivo è quello di impostare il focus su un input text specifico.

Poiché sembra non esserci modo di farlo automaticamente con una proprietà TR: InputText, provo a usare JavaScript.

Per document.getElementById Ho bisogno dell'ID dell'HTML reso <input>. Provo a impostare questo ID sull'indice corretto. Tuttavia, è reso con l'ID varFieldIterator:0:varField dove il numero 0 proviene dall'iteratore ed è diverso a seconda della mia parte del valore di avvio. Se inizio con SelectionStart = 10, il primo indice per la casella di testo 10 è 0. Se inizio con 15 e quindi ho un PPR per mostrare le prime 15 caselle di testo, ottengono l'ID a partire da 16.

Penso che il codice chiarirà ciò che cerco di ottenere:

<tr:iterator
    id="varFieldIterator"
    value="#{myController.form.model.fieldList}"
    var="field"
    rows="15"
    first="#{{myController.form.model.selectionStart}"
    varStatus="status">
  <tr:inputText
      id="varField#{status.index}"
      value="#{field.value}"
      label="Text #{status.index +1}">
</tr:iterator>

<tr:inputHidden
    id="FOCUS_TEXT"
    value="#{myController.form.model.endFocus}"></tr:inputHidden>
<trh:script>
window.onload = function() { document.getElementById('varField' + document.getElementById('FOCUS_TEXT').value).focus(); } 
</trh:script>

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top