Foros del Web » Programando para Internet » Javascript »

Como Activar un Div flotante y ala vez enviar un formulario

Estas en el tema de Como Activar un Div flotante y ala vez enviar un formulario en el foro de Javascript en Foros del Web. Buen dia veran el problema que tengo desde hace un par de dias es el siguiente Tengo una web que me enlista una tabla de ...
  #1 (permalink)  
Antiguo 22/11/2011, 13:31
 
Fecha de Ingreso: noviembre-2011
Ubicación: Yopal
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 0
Sonrisa Como Activar un Div flotante y ala vez enviar un formulario

Buen dia veran el problema que tengo desde hace un par de dias es el siguiente

Tengo una web que me enlista una tabla de MySql y todo va bn

tengo un Div flotante que se activa con Javascript y funciona bn


ahora el problema es que no ayo la forma que me envie el formulario y ala vez active el div flotante pero ala vez pasando El id del producto

El siguiente Codigo me Funciona Pero No se Por que Se cierra solo


Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">
function showLightbox() {
    document.getElementById('over').style.display='block';
    document.getElementById('fade').style.display='block';
}
function hideLightbox() {
    document.getElementById('over').style.display='none';
    document.getElementById('fade').style.display='none';
}
</script>
<style type="text/css">
                
.overbox {
    display: none;
    position: absolute;
    top: 15%;
    left: 8%;
    z-index:1002;
    overflow: auto;
}


#descri {
    height:auto;
    width:900px;
    left:inherit;
    right:inherit;
    top:inherit;
    position:fixed;
    z-index:-1;
    float:right;
    background: #FFF;
    border: solid 3px #323232;
    padding: 10px;
    }
        
        
        
.fadebox {
    display: none;
    position:fixed;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index:1001;
    -moz-opacity: 0.95;
    opacity:.95;
    filter: alpha(opacity=95);
}    
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<?php 
require_once('Secreto/Ax92.php'); 
//Conexion a la base de datos 
mysql_connect($servidor$usuariodatos$secretisimo); 
mysql_select_db($basedatos); 
$result=mysql_query("select * from productos ORDER BY id DESC;"); 
echo
' <div id="fade" class="fadebox">&nbsp;</div> '
echo 
'
<table width="100%" border="2">
  <tr> 
     <td><div align="center">Imagen </div></td>
    <td><div align="center">Titulo </div></td>
    <td><div align="center">Tipo</div></td>
    <td> <div align="center">Cantidad</div></td>
    <td><div align="center">Detalles</div></td>
  </tr>'
;
//Mostrando los registros 
while ($row=mysql_fetch_array($result)) 

if(
$row["id"] ){ 
echo 
'<tr>';
$aux=$row["id"];
mysql_connect($servidor$usuariodatos$secretisimo); 
mysql_select_db($basedatos); 
$resultb=mysql_query("select imagen from caracteristicas where id_productos='$aux' ");
$rowb=mysql_fetch_array($resultb);
echo 
'<td><div align="center">';
echo 
'<img src="'
echo 
$rowb["imagen"]; echo '" width="60" height="60" />'; echo '</div></td>'
echo 
'<td><div align="center">'; echo $row["nombre"];        echo '</div></td>';
echo 
'<td><div align="center">'; echo $row["tipo"];          echo '</div></td>';
echo 
'<td><div align="center">'; echo $row["cantidad"];  echo " ";   echo $row["tipocantidad"] ;     echo '</div></td>'
echo 
'<td><div align="center">';
$ida=$row["id"];
?>
<form id="form1" name="form1" method="post"  action="" >
  <input type="hidden" name="auxilio" id="auxilio" value="<?php echo $ida?> " />
  <input type="submit" onclick="javascript:showLightbox();"  name="button" id="button"  value="Ver Detalles " />
</form>
<?php 
        
echo '</div></td>';
echo 
'</tr>';
}

mysql_free_result($result);
?>
</table>
<div id="over" class="overbox">
    <div id="descri">
      <div> 
       <a href="javascript:hideLightbox()"><img src="images/cerrar.png" width="25" height="25" align="right" /></a></div>
    </div>
    <?php 
        $clave
=$_POST['auxilio'];
        echo 
$clave;
?>
</div>  
 

</body>
</html>
Alguien Que me ayude no se por que se abre y me imprime el id PERO SE CIERRA SOLO !
  #2 (permalink)  
Antiguo 22/11/2011, 13:39
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Como Activar un Div flotante y ala vez enviar un formulario

Para eso vas a tener que usar jquery para tener un listener sobre el submit del form, que al momento de hacer el submit, no solo lo haga sino que tambien te ejecute el script en javascript que te active el div flotante y no solo eso, el submit lo vas a tener que hacer con ajax para que no te refresque la pantalla y puedas ver la activacion del div flotante.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 22/11/2011, 13:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 61
Antigüedad: 15 años
Puntos: 3
Respuesta: Como Activar un Div flotante y ala vez enviar un formulario

El formulario se envia por que utilizas un elemento submit lo deves reemplazar por un elemento de tipo button y si quieres enviar el formulario lo puedes hacer asi

Código PHP:
function showLightbox() { 
    
document.getElementById('over').style.display='block'
    
document.getElementById('fade').style.display='block'
    
document.getElementById('form1').submit()

pero te recomiendo que utilizes ajax
__________________
Pelearé hasta el último segundo y mi epitafio será:
No estoy de acuerdo.
Aplicaciones web gratis aplicaciones para cfd y cfdi
Gerente de Desarollo Protecno
  #4 (permalink)  
Antiguo 22/11/2011, 13:54
 
Fecha de Ingreso: noviembre-2011
Ubicación: Yopal
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Como Activar un Div flotante y ala vez enviar un formulario

Gracias elmaspicudo he hecho lo que pdices pero el div sigue desapareciendo y no se por que

No se nada de Ajax alguien que me de una mano por favor
  #5 (permalink)  
Antiguo 22/11/2011, 13:55
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Como Activar un Div flotante y ala vez enviar un formulario

Cuando hagas el submit del formulario te va a refrescar si no lo haces por ajax, asique todo lo que hagas del lado del cliente te va a desaparacer y te va a volver a cargar como el inicio.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #6 (permalink)  
Antiguo 22/11/2011, 13:59
 
Fecha de Ingreso: mayo-2009
Mensajes: 61
Antigüedad: 15 años
Puntos: 3
Respuesta: Como Activar un Div flotante y ala vez enviar un formulario

Aqui tienes unos pequeños tutoriales de ajax utilizando prototype o jquery

Tutoriales
__________________
Pelearé hasta el último segundo y mi epitafio será:
No estoy de acuerdo.
Aplicaciones web gratis aplicaciones para cfd y cfdi
Gerente de Desarollo Protecno
  #7 (permalink)  
Antiguo 22/11/2011, 14:10
 
Fecha de Ingreso: noviembre-2011
Ubicación: Yopal
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Como Activar un Div flotante y ala vez enviar un formulario

Gracias ya entiendo por que desaparece pero debe de haber alguna forma, no se Ajax alguien tiene algún ejemplo parecido para compartir ?

elmaspicudo leere tu tutorial :)
  #8 (permalink)  
Antiguo 22/11/2011, 14:23
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Como Activar un Div flotante y ala vez enviar un formulario

en el tuto que te paso elmaspicudo hay ejemplos, a no ser aragán y a leer. Si tenes pensado usar jquery la documentacion del metodo es mas que suficiente:
http://api.jquery.com/jQuery.ajax/


La parte del ajax del lado del cliente es casi siempre la misma, cambia mas del lado del servidor donde tenes que hacer la lógica.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:13.