Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

Índice
maxLevel4
outlinetrue
exclude.*ndice
stylenone

 


Plataforma

Produto:  fluig 


Ocorrência

Meus widgets estão todos com as mesmas preferências, como resolvo? 


Causa

Geralmente isso ocorre quando há mais de um elemento com o mesmo "id" na página. O risco de isso ocorrer é maior quando, montando uma pagina, use-se mais de uma instância de um widget que não esteja com os "ids" de seus elementos nomeados corretamente. 


Solução

Dentro dos arquivos .ftl, sempre que é criado um novo elemento, é importante utilizar a variável instanceId como sufixo na hora de nomeá-lo. Abaixo um exemplo:

Bloco de código
languagexml
<div id="TesteQualidade_${instanceId}">
    <form role="form">
        <div id="formForm_${instanceId}">
            <div class="form-group">
                <label for="qualiTitle_${instanceId}">...</label>
                <input type="text" class="form-control" id="qualiTitle_${instanceId}" value="${qualiTitleDataField!}"/>
            </div>
        </div>
    </form>
</div>

Onde:

ElementoDescrição
${instanceId}
Quando utilizada a técnica de super widget, essa variável contém o "id" único da instância em questão.

Usar instanceId como sufixo é bastante produtivo quando é necessário fazer referência a outros objetos dentro do próprio .ftl, pois quando foi inserida a label para o input, bastou usar como referência o identificador único do objeto em questão. Ou seja, quando o input field foi criado, deu-se um "id" único para ele.

...

Bloco de código
languagejs
var titulo = $("#qualiTitle_" + this.instanceId).val();

Onde:

ElementoDescrição
$(...)Função que inicia a buscar por algum elemento na tela.
#É o prefixo que indica, para o javascript, que se deseja buscar um elemento cuja propriedade "id" seja igual aos caracteres que se seguem a ele.
this.instanceId
Quando utilizada a técnica de super widget, essa variável contém o id único da instância em questão.

 

...