Comunidad de diseño web y desarrollo en internet online

Javascript y Divs

Citar            
MensajeEscrito el 30 Ago 2011 06:58 pm
Buenas!

Necesito hacer unA funcion en javascript que me permita capturar si un Div esta con contenido o si no esta con contenido.

Ejemplo:

Si esta de esta manera: <div id="mensaje"></div> no hace nada.

Pero si esta de esta otra:

<div id="mensaje">
<div id="test"></div>
<div id="test2"></div>
</div>


Tiraria una alerta.

Alguien me puede ayudar???

Desde ya muchas gracias!!! Saludos

Por T1000

Claber

121 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Ago 2011 07:10 pm
Pues mira si innerHTML del div está vacío o no...

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 30 Ago 2011 07:21 pm
DriverOp! como estas?!

Bueno sigo con los frames.. te cuento mas en detalle:

Este era el codigo para ponerle foco a un elemento de un iframe:

Código Javascript :

var miiframe = document.getElementById("TB_Iframe");
miiframe.contentWindow.document.forms['formTest1'].txtTest.focus();


Ahora bien yo tengo un div dentro del mismo iframe el cual si esta lleno de algun codigo tengo que hacer ponerle foco a un boton.

Primero como hago para direccionar a mi div? y preguntar si esta vacio? Sera algo asi:

Código Javascript :

var miiframe = document.getElementById("TB_Iframe");
if (miiframe.contentWindow.document.forms['formTest1'].mensaje.innerHTML == null){
  miiframe.contentWindow.document.forms['formTest1'].btnCerrar.focus();
}


Gracias!!!

Por T1000

Claber

121 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Ago 2011 07:27 pm
Sin probarlo y por pura intuición te diré que no es así, más bien sería:

Código Javascript :

var midiv = miiframe.contentWindow.document.getElementById("mensaje");
if (mydiv.innerHTML == "") {
  alert("Div está vacío");
}

suponiendo que "mensaje" es el id del div en cuestión.

Ten en cuenta que esto:

Código Javascript :

forms['formTest1'].mensaje... 

funciona porque en ese form hay un <input> cuyo name es "mensaje" pero un <div> no pertenece a ningún form aunque esté dentro de él.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 30 Ago 2011 08:17 pm
Probe, en IE me salta error:

'mydiv' is undefined

Estare haciendo algo mal??

Saludooos! Gracias!!!

Por T1000

Claber

121 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 31 Ago 2011 12:12 pm
Prestar más atención a lo que copias y pegas. Como el código el escribí de memoria, cometí un error muy sencillo de descubrir, suerte.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 31 Ago 2011 01:58 pm
Jajaja es verdad... estaba tan quemado que no me di ni cuenta..

Funciona bien! Gracias!

Por T1000

Claber

121 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 31 Ago 2011 02:52 pm
Funciona perfecto, el tema es que en el div mensaje tiene dentro un div oculto:

Código HTML :

<div  id="mensaje">
   <div style="display: none;"  id="popUpMensaje"></div>
</div>


Y entonces siempre me da como div lleno, pero en realidad esta oculto.. Hay alguna forma de preguntar:

Código :

if ("<div style="display: none;"  id="popUpMensaje">"){
}
else ("<div  id="popUpMensaje">"){
}


Gracias Drive!!

Por T1000

Claber

121 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 31 Ago 2011 03:10 pm
Por supuesto, simplemente pregunta por el valor de la propiedad style.display del <div> en cuestión.

Código Javascript :

if (mydiv.style.display == 'none') { alert('El div está escondido.'); }

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Sep 2011 01:57 pm
Gracias Drive!

No quise escribir antes porque lo intente solucionar.. pero no puedo..

El codigo completo es este:

Código HTML :

<html>
   <body>
      <div id="cont">
      
         <iframe id="iframeContent">
            <html>
               <body>
                  <div id="cont">
            
                     <iframe id="iframeContent">
                        <html>            
                           <body>
                              <div id="cont">
                                 
                                 <iframe id="iframeContent">
                                    <html>            
                                       <body>
                                          <div id="cont">
                                          
                                             <div id="mensaje">
                                                <div style="display: block;" id="DivPopUpUserMessages">
                                                   <div style="display: block;"  id="DivWaitMessage">
                                                   </div>
                                                   <div style="display: block;" id="DivTextMessage">
                                                      <div style="display: block;" class="divtextc" id="DivText">
                                                         <span id="mensajespan"></span>
                                                      </div>
                                                      <div style="display: block;" class="divClose" id="DivButton">
                                                         <input type="button" class="Button" value="Cerrar" id="btnClose">
                                                      </div>
                                                   </div>
                                                </div>
                                             </div>
   
                                          </div>
                                       </body>
                                    </html>
                                 </iframe>
                                 
                              </div>
                           </body>
                        </html>
                     </iframe>
                  
                  </div>
               </body>
            </html>      
         </iframe>
         
      </div>
   </body>
</html>



El problema que tengo es que cuando me tira el un div flotante (mensaje) me pone foco en el input id TEST, que esta debajo..

Código HTML :

<iframe id="iframeContent">
   <html>            
      <body>
         <div id="cont">
            <input id="TEST" type="text"></input>
         
            <div id="mensaje">
               <div style="display: block;" id="DivPopUpUserMessages">
                  <div style="display: block;"  id="DivWaitMessage">
                  </div>
                  <div style="display: block;" id="DivTextMessage">
                     <div style="display: block;" class="divtextc" id="DivText">
                        <span id="mensajespan"></span>
                     </div>
                     <div style="display: block;" class="divClose" id="DivButton">
                        <input type="button" class="Button" value="Cerrar" id="btnClose">
                     </div>
                  </div>
               </div>
            </div>

         </div>
      </body>
   </html>
</iframe>


FOCO:

Código Javascript :

    if (miiframe.contentWindow.document.forms['formTest']) {
        miiframe.contentWindow.document.forms['formTest'].txtNombre.focus();
    }



Como puedo sacar el foco del input al cargar el div?? Se te ocurre algo??

Gracias!!!!

Por T1000

Claber

121 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.