Foros del Web » Programando para Internet » Javascript »

ejemplo check_form de caricatos

Estas en el tema de ejemplo check_form de caricatos en el foro de Javascript en Foros del Web. hola estoy usando el ejemplo de chek_form de caricatos y funciona barbaro. check_form.zip es el ejemplo de poder subir una imagen a formulario con vista ...
  #1 (permalink)  
Antiguo 03/06/2008, 16:40
 
Fecha de Ingreso: abril-2007
Mensajes: 59
Antigüedad: 17 años
Puntos: 0
ejemplo check_form de caricatos

hola
estoy usando el ejemplo de chek_form de caricatos
y funciona barbaro.
check_form.zip

es el ejemplo de poder subir una imagen a formulario con vista previa.
el problema que tengo es cuando hago el proceso del formulrio con mas datos cuando doy click en el boton enviar no me cierra el formulrio de envio de datos de ls secciones y me abre el nuevo con el listado de los datos de las secciones y la nueva seccion agregada.
como hago para cerrar el formulrio anterior y abrir el nuevo???
me deja el formulrio de envio como que no hubiera enviado nada abajo y si se hizo el envio y me abre chico el formulrio de listados.
desde ya muchas gracias
  #2 (permalink)  
Antiguo 03/06/2008, 23:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ejemplo check_form de caricatos

Hola:

Me agrada saber que te va bien el script (aunque solo sea una parte... )
Por si se me ha escapado algo, voy primero a recopilar...
Se trata de el artíaculo Revisar las imágenes antes de subirlas. Entre los comentarios pedían los ficheros y respondí con un enlace para bajar esos ficheros: check_form.zip; además en el propio artículo había un enlace a un formulario de ejemplo: Formulario (chequeo de imágenes).

Acabo de probar el formulario de ejemplo, y existe un campo de ejemplo y se envía sin problemas... Tal vez no estés haciendo bien la reasignación de algunos atributos (target o action).

Tal vez sea mejor que nos muestres tu formulario y scripts asociados (tal vez haya algún conflicto)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 04/06/2008, 04:22
 
Fecha de Ingreso: abril-2007
Mensajes: 59
Antigüedad: 17 años
Puntos: 0
Respuesta: ejemplo check_form de caricatos

bien
muchas gracias por contestar
trate de adaptar este ejemplo a mi formulrio y anda barbaro solo que tengo ese problema
este es mi formulario principal donde hago la precarga de la imagen
PanelAgregarCont.php
el cual en elf ormulario llamo a mi funcion validar check form y comento la validar que tu utilizas ya que quiero validar todos los datos del formulrio y llamo a mi formulrio de listado , es la diferencia con tu codigo, de aqui voy a mi formulario listados,

Código PHP:
<? 
include_once('../includes/db.inc.php');
$bdsec = new db($host,$user,$pass);
$bdsec->db_connect();
$bdsec->db_select_db($db);

$bdsec->db_sql_select('*','secciones','1=1 and version ="espanol"',array('IdSeccion'=>'asc'),'');
 
$bdsec->db_execute_query();

?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta NAME="description" content="">
<meta NAME="keywords" content="">

<script src="../js/swfobject.js" type="text/javascript"></script>

<script src="../js/funciones.js" type="text/javascript"></script>
<script type="text/javascript">
            function actuar(peso, anchura, altura)    {
                this.peso.value = peso;
                this.ancho.value = anchura;
                this.alto.value = altura;
            }

            function ini()    {
                document.forms.formu.actualizar = actuar;
                window.frames.ver.location.href = "previsor.php";
                   //document.img.ver.location.href="previsor.php";
                document.forms.formu.actualizar(0, 0, 0);

            }

            
            function limpiar()    {
                document.forms.formu.actualizar(0, 0, 0);
                f = document.getElementById("archivo");
                nuevoFile = document.createElement("input");
                nuevoFile.id = f.id;
                nuevoFile.type = "file";
                nuevoFile.name = "archivo";
                nuevoFile.value = "";
                nuevoFile.onchange = f.onchange;
                nodoPadre = f.parentNode;
                nodoSiguiente = f.nextSibling;
                nodoPadre.removeChild(f);
                (nodoSiguiente == null) ? nodoPadre.appendChild(nuevoFile):
                    nodoPadre.insertBefore(nuevoFile, nodoSiguiente);
            }

            function checkear(f)    {
                function no_prever() {
                    alert("El fichero seleccionado no es válido...");
                    limpiar();
                }
                function prever() {
                    var campos = new Array("peso", "alto", "ancho");
                    for (i = 0, total = campos.length; i < total; i ++)
                        f.form[campos[i]].disabled = false;
                    actionActual = f.form.action;
                    targetActual = f.form.target;
                    f.form.action = "previsor.php";
                    f.form.target = "ver";
                    f.form.submit();
                    for (i = 0, total = campos.length; i < total; i ++)
                        f.form[campos[i]].disabled = true;
                    f.form.action = actionActual;
                    f.form.target = targetActual;
                }

                (/\.(gif|jpg|png|ico|bmp)$/i.test(f.value)) ? prever() : no_prever();
            }

            function datosImagen(peso, ancho, alto, error)    {
                function mostrar_error()    {
                    enviar = false;                    
                    mensaje = "Ha habido un error (error nº " + error + "):";
                    if (error % 2 == 1) // tipo incorrecto
                        mensaje += "\nel fichero no es válido";
                    error = parseInt(error / 2);                    
                    limpiar();
                }
                if (error == 0)
                    document.forms.formu.actualizar(peso, ancho, alto);
                else
                    mostrar_error();
            }
            
            
function checkForm()
            {
              var exp = /^[\+\-]{0,1}[0-9]+[\.]{0,1}[0-9]*$/;
              var re_int = /^(?:\+|-)?\d+$/;
                
              fotoprincipal=document.getElementById('fotoprincipal').value;
              descripcion=document.getElementById('descripcion').value; 
            
              titulo=document.getElementById('titulo').value;
            
              if (fotoprincipal==''){
                alert('Debe ingresar la foto !');
                document.getElementById('fotoprincipal').focus();
                return false;
              }
            
              if(descripcion==''){    
                  alert('Debe ingresar la descripicion !');
                  document.getElementById('descripcion').focus();
                  return false;
                }
            
              if(titulo==''){    
                  alert('Debe ingresar el titulo!');
                  document.getElementById('titulo').focus();
                  return false;
              } 
              return true;
}
</SCRIPT>

<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body onLoad="MM_preloadImages('images/3kzOn.gif'),ini()">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" class="BackFoot">
  <tr>
    <td height="170" align="center" valign="top" class="BackPanel"><table width="780" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td align="left"><img src="../images/HeadPanel.jpg" width="643" height="116"></td>
        <td width="51" valign="top"><a href="PanelControl.html"><img src="../images/BtnCas.gif" width="51" height="34" border="0"></a><br>
          <a href="ingles/PanelControl.html"><img src="../images/BtnEng.gif" width="51" height="34" border="0"></a></td>
      </tr>
    </table>
    </td>
  </tr>
  
  <tr>
    <td height="77" valign="top"><table width="780" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td width="200" height="10" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0" class="TxtMenu">
          <tr>
            <td height="36" align="left" valign="middle">&nbsp;</td>
          </tr>        
          <tr>
            <td height="22" align="left" valign="middle" class="MenuTd"><img src="../images/BullOn.gif" width="7" height="7" />Agregar Contenido</td>
          </tr>
         
         
        </table></td>
        <td width="30">&nbsp;</td>
        <td valign="top">
          <form name="formu" id="formu" method="post" action="PanelAdmCont.php"  onSubmit="return checkForm();"   enctype='multipart/form-data'>
     <? if($rowsec $bdsec->get_next_row()){?>
    
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="36" class="TxtTitulo">Panel de Control </td>
          </tr>
          <tr></tr>
          <tr>
            <td height="15" class="TxtHome">&nbsp;</td>
          </tr>
          <tr>
            <td height="15" class="TxtHome"><table width="100%" border="0" cellspacing="0" cellpadding="0" class="TxtHome">
              <tr>
                <td width="150" height="20" valign="middle">Selecciones una Secci&oacute;n</td>
                <td valign="middle"> <select name="id_seccion" id="id_seccion"  class="select-panel">
            <? 
                                $cont
=0;
                                while(
$rowsec){
                                
?>
                        <option value="<? echo $rowsec['IdSeccion'];?><? if($cont==0) echo "selected";?>><? echo $rowsec['Name'];?></option>
                        <? 
                                $rowsec 
$bdsec->get_next_row();
                                
$cont++;
                                }
                                
?>
                      </select>
                      </td>
              </tr>

            </table></td>
          </tr>
          <tr>
            <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0" class="TxtHome">
              <tr class="BordePanel">
                <td width="150" height="27" valign="middle" class="BordePanel">&nbsp;</td>
                <td valign="middle">&nbsp;</td>
                </tr>
              <tr class="BordePanel">
                <td height="60" valign="middle" >Cargar  im&aacute;gen <br>
                  270 x 204 px.</td>
                <td valign="middle"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                  <tr class="BordePanelZero">
                  <!--aqui utilizo el frame de la imagen-->
                    <td width="270"  align="left" valign="bottom"><iframe   id="ver" frameborder="0"   name="ver" align="bottom" style=" width: 270px; height: 204px;"></iframe></td>
                    <td align="left" valign="bottom"><input type="file" name="fotoprincipal" id="fotoprincipal" src="previsor.php"  onchange="this.form.target = checkear(this)"  ></input> 
                            <input type="hidden" readonly name="peso" value="0" />
                            <input type="hidden" readonly name="ancho" value="0" />                            
                            <input type="hidden" readonly name="alto" value="0" /></td>
                  </tr>
                </table></td>
                </tr>
              <tr class="BordePanel">
                <td height="20" valign="middle">Descripci&oacute;n</td>
                <td valign="middle"><input name="descripcion" type="text" class="input Panel" id="descripcion"/></td>
                </tr>
              <tr class="BordePanel">
                <td height="20" valign="middle">T&iacute;tulo</td>
                <td valign="middle"><input name="titulo" type="text" class="input Panel" id="titulo"/></td>
                </tr>
              <tr class="BordePanel">
                <td height="20" valign="top">Texto  Principal</td>
                <td valign="middle">    <textarea name="cuerpo" rows="30" cols="44" id="cuerpo" class="input-txt"></textarea>          
       </td>
                </tr>
              
              <tr>
                <td height="40" valign="middle">&nbsp;</td>
                <td valign="middle"><input type="hidden" value="1" name="add"><a href="javascript:if(checkForm()){formu.submit();}"><img src="../images/BtnAceptar.gif" width="33" height="20" border="0"></a></td>
                </tr>
                
            </table>
            
            </td>
          </tr>
          <tr></tr>     
        </table>
        
        <? }?>
    </form>
        </td>
        </tr>
    </table></td>
  </tr>
  
  <tr>
    <td height="100" valign="bottom"><table width="780" height="50" border="0" align="center" cellpadding="0" cellspacing="0" class="TxtFoot">
     

    </table></td>
  </tr>
</table>
</body>
</html>
  #4 (permalink)  
Antiguo 04/06/2008, 04:25
 
Fecha de Ingreso: abril-2007
Mensajes: 59
Antigüedad: 17 años
Puntos: 0
Respuesta: ejemplo check_form de caricatos

tengo que mandar en dos mensajes por la cantidad de datos incuso saque cosas del formulario anterior lo deje mas sencillo

este es el formulario
previendo.php

Código PHP:
<?php
session_start
();
$url = ($_SESSION["cont"] == "")
    ? 
fread(fopen("../images/big01.JPG""rb"), filesize("../images/big01.JPG"))
    : 
$_SESSION["cont"];
$tip = ($_SESSION["tipo"] == "")
    ? 
"image/gif"
    
$_SESSION["tipo"];
header("Content-type: $tip");
echo 
$url;
session_destroy();
?>

previsor.php

Código PHP:
<?php
    session_start
();
    
$defecto "../images/big01.JPG";
    
$Ok = isset($_FILES["fotoprincipal"]);
    
$url = ($Ok) ? $_FILES["fotoprincipal"]["tmp_name"] : $defecto;
    list(
$anchura$altura$tipoImagen$atributos) = getimagesize($url);
    
$error = (isset($atributos)) ? 1;
    
$los_tipos = array("gif""jpg""png","JPG");
    
$tipo = ($Ok) ? "image/".$los_tipos[$tipoImagen 1] : "image/gif";
    
$fichero = ($Ok && ($error == 0)) ? $_FILES["fotoprincipal"]["name"] : $defecto;
    
$tam filesize($url);    
    
$datomuestro = ($ancho=46 $alto=35);    
    
$datos =  $url ;
    
$onload = ($Ok) ? "onload='parent.datosImagen($tam, $ancho, $alto, $error)'"'';
    
//$datos_imagen = fread(fopen($datos, "rb"), filesize($datomuestro)); 
$datos_imagen fread(fopen($datos"rb"), filesize($datos)); 
    
$_SESSION["cont"] = $datos_imagen;
    
$_SESSION["tipo"] = ($error == 0) ? $tipo "image/gif";
?>
<html >
<head>
<style type="text/css" >
html    {
    height: 100%;
}
body    {
    height: 100%;
    overflow: hidden;    
    background-image: url(previendo.php?dato=<?=$fichero;?>);    
    background-position:top;
    background-repeat: no-repeat;
}
</style>
</head>
<body <?=$onload;?>>

</body>
</html>
receptor.php

Código PHP:
<html>
<body>
<?
function listado($descriptor$objeto$nivel) {
    echo 
"<u>$descriptor</u>:<br/>\n";
    echo 
"<div style='border: 1px solid gray; margin-left: 1cm'>Datos $descriptor: (nivel: $nivel)<br />\n";
    foreach (
$objeto as $item => $dato)    {
        echo 
"$item = $dato <br />";
        if (
is_Array($dato) && ($nivel 5) && ($item != $descriptor))
            
listado($descriptor."[ ".$item." ]"$dato$nivel 1);
    }
    echo 
"</div>";
}

listado ("GET"$_GET0);
echo 
"<hr />";
listado ("POST"$_POST0);
echo 
"<hr />";
listado ("FILES"$_FILES0);
?>
</body>
</htnl>
lo que le he sacado a todo de tu ejemplo son las cajas de peso, anchura de la imagen que no me interesaban
estos son todos los formularios que utilizo
desde ya muchas gracias

Última edición por sheilac; 04/06/2008 a las 04:27 Razón: agregue datos
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 03:13.