Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/01/2009, 16:22
Avatar de starmark
starmark
 
Fecha de Ingreso: junio-2008
Ubicación: Venezuela
Mensajes: 64
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Problema con createElement(tag)

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

DOM es un sistema accesible desde la raiz del documento o de la ventana (document o window)... pero esa variable tbody es una variable local (bueno, en este caso lo he supuesto, pero he pensado que lo has hecho desde algún evento, haciendo una llamada... pero, si no pones todo el código (aunque es preferible simplificarlo, tal como lo veo, debo adivinar de lo que se trata)... Pues eso, si dentro de una función pones:

function mi_funcion() {
var tbody = document.createElement("tbody");
//...
el_tag_que_sea.appendChild(tbody);
//...
}

... ese tbody solo es accesible dentro de su contexto... sería visible para todo el documento si tuviera un id y lo hubieras referenciado con document.getElementById()...

Saludos
Ok .. mira .. lo pondre de una forma resumida
Yo tngo mi form por ejemplo con el campo nombre en
su tabla; de la siguiente forma;

Código:
<form name="form_contact" id="form_contact">
   <table id="table_submit" width="100%" height="1" cellpadding="0" cellspacing="0" border="0">
          <tbody id="tbody_contact_submit">
          	<tr id="tr_name">
                    <td valign="top" width="76%">
                             <input onchange="validar('uname','tr_name')" type="text"  id="uname"/>
                    </td>
                </tr>
          </tbody>
  </table>
</form>
Una cosa, el Tr que contiene el input le asigno un ID que le paso a la funcion
validar por parametros para insertar el TR que mostrara el error encima de el;
y la funcion validar seria;


Código javascript:
Ver original
  1. function validar (id,tr_error_id) {
  2.    var refer = $('tbody_contact_submit');
  3.    var newTr = createElement ('tr');
  4.    newTr.id = 'tr_name_error'; // Asigno un ID para hacer referencia a el luego
  5.       patron = /^[\D]$/
  6.           if (!patron.test ($(id)) {
  7.                      // Si no cumple el patron inserto el TR cn el error encima del
  8.                     // input nombre
  9.               refer.insertBefore(newTr,$(tr_error_id));
  10.               newTr.innerHTML = "<td>El mensaje de error </td>";          
  11.           }
  12.                 else {
  13.                         if ($('tr_name_error')) { // Si existe el tr error lo elimino
  14.                              refer.removeChild($('tr_name_error'));
  15.                         }
  16.                  }
  17.  
  18. }

Cuando el campo cumple con el patron perfecto elimina el Tag TR ..

Pero si me creo otra funcion como lo explique antes y hago un;

Código javascript:
Ver original
  1. if ($('tr_name_error')) {
  2.      alert ('Existe');
  3. }
  4.       else {
  5.          alert ('No existe');
  6.       }

Aunq el TR existe y esta visible el error en el navegador me arroja que
no existe u.u

Que estare haciendo mal ? =[