PabloTorrecillas / IndiWebClient

Repositorio creado para realizar la aplicación web IndiWebClient
GNU General Public License v3.0
0 stars 0 forks source link

crear la función setTextVector #20

Closed PabloTorrecillas closed 9 years ago

PabloTorrecillas commented 9 years ago

Esta función lo que hará es modificar algún valor de los defTextVector ya definidos. Para ello, los innerHTML que son los valores a modificar deberán ir entre etiquetas div y esa etiqueta div debe contener un id para que así sea identificable y a su vez poder modificarlo facilmente. Usar la función getElementsById ya que así estaría en el dispositivo, propiedad y elemento concreto a modificar. Intentar empezar cambiando la bombilla de alguno de ellos como hemos dejado preparado en el XML.

PabloTorrecillas commented 9 years ago

Después de varios intentos fallidos ya funciona perfectamente la función. He realizado el siguiente código:

       var deviceName = node.getAttribute("device");
       var propertyName = node.getAttribute("name");
       var nodes = node.childNodes;

       for(var i = 0; i < nodes.length; i++){
           var elementName = nodes[i].getAttribute("name");

           var existingElement = document.getElementById(getElementId(deviceName,propertyName,elementName) + "_value");

           existingElement.innerHTML = nodes[i].innerHTML;
       }

Lo que hago es obtener el dispositivo y el nombre y a continuación recorro el nodo para meterme en cada una de las propiedades y por eso hago el elementName. Una vez ahí, busco en el documento por el id y lo meto en una variable y esa variable la modifico con el innerHTML