Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Preview de imagen con Xajax no funciona

Estas en el tema de Preview de imagen con Xajax no funciona en el foro de Frameworks JS en Foros del Web. Hola. Tengo un problema al tratar de previsualizar una imagen que voy a subir al servidor. El boton examinar llama a la función generar_preview que ...
  #1 (permalink)  
Antiguo 14/12/2010, 18:22
 
Fecha de Ingreso: diciembre-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Preview de imagen con Xajax no funciona

Hola.
Tengo un problema al tratar de previsualizar una imagen que voy a subir al servidor. El boton examinar llama a la función generar_preview que recibe la ruta de la imagen y le agrega "file:///" y de ahí debería mostrarla en el div pic pero sólo se ve como un icono de que hay una imagen pero no la imagen.

Gracias de antemano.

Lo tengo todo en una sola página:

Código PHP:
<?php
//incluímos la clase ajax
require ('xajax/xajax_core/xajax.inc.php');
 

//instanciamos el objeto de la clase xajax
$xajax = new xajax(); 
$xajax->setCharEncoding('utf-8');
$xajax->configure('decodeUTF8Input',true);


function 
generar_preview($ruta){
   
//instanciamos el objeto para generar la respuesta con ajax
   
$respuesta = new xajaxResponse();
    
$ruta"file:///".$ruta;
       
$imagen="<img id='vistaprevia' src='$ruta' alt='' width='119' height='140'>";
  
//$imagen=$cod_provincia;
   
$respuesta->Assign("pic","innerHTML",$imagen);
   
   
//tenemos que devolver la instanciación del objeto xajaxResponse
   
return $respuesta;
}
   
//asociamos la función creada anteriormente al objeto xajax
$xajax->registerFunction("generar_preview");

//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Profesores</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="styles.css" rel="stylesheet" type="text/css" media="screen" />
<style type="text/css">
<!--
body {
    background-image: url(images/otro%20fondo.jpg);


}
.Estilo1 {font-family: Arial, Helvetica, sans-serif}

.pic{

width:119px;
height:140px;
margin-right:auto; 
margin-left:auto;

}
-->
</style>
<SCRIPT language=JavaScript>
function agregarOpc(){
var selec = form.Nivel.options;

var combo = form.Contenido.options;
combo.length = null;

var lista = document.getElementById("Nivel");
// Obtener el valor de la opción seleccionada
var valorSeleccionado = lista.options[lista.selectedIndex].value;

    if (valorSeleccionado == "")
    {
    var seleccionar = new Option("<-- esperando selección","","","");
    combo[0] = seleccionar;
    }
    if (valorSeleccionado == 3)
    {
    var t1 = new Option("Ángulos","301","","");
    var t2 = new Option("Prismas/Pirámides","302","","");
    var t3 = new Option("Trinágulos","303","","");
    combo[0] = t1;
    combo[1] = t2;
    combo[2] = t3;
    }

    if (valorSeleccionado == 4)
    {
    var c1 = new Option("Cilindros/Conos","401","","");
    var c2 = new Option("Rectas","402","","");
    var c3 = new Option("Cuadriláteros","403","","");
    combo[0] = c1;
    combo[1] = c2;
    combo[2] = c3;
    }
    if (valorSeleccionado == 5)
    {
    var q1 = new Option("Cuerpos Redondos","501","","");
    var q2 = new Option("Rectas","502","","");
    
    combo[0] = q1;
    combo[1] = q2;
    
    }
    


}

  

</script>
<?php
   
//En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
   
$xajax->printJavascript("xajax/");
  
// $xajaxp->printJavascript("xajax/");
 
   
?>



</head>
<body>


<div id="content">
<!-- header begins -->
<!-- header ends -->
<!-- content begins -->
<div id="main">
<p>&nbsp;</p>
 <p>&nbsp;</p>
 <p>&nbsp;</p>
 <?php 
  
include("Ejercicio.inc");
 include(
"Profesor.inc");
 
error_reporting(0);
session_start();
 
$prof=new Profesor;
 
$prof->Rut $_SESSION['Rut'];
 
$prof->Buscar();
 
 if(
$prof->num_niveles>0)
      {
        
form_Ejercicios();
        
    }
else
    {
        echo
"<div class= 'tabla_mensaje'><b><font color='red'><h1>No tiene ningún curso asignado</h1></font></b></div>";
    }
    
function 
form_Ejercicios()
{


 
$prof=new Profesor;
 
$prof->Rut $_SESSION['Rut'];
 
$prof->Buscar();
 
 
$Autor $_SESSION['Rut'];
 
$imagen "";
 
$TxtPregunta $_POST["TxtPregunta"];
 
$TxtAlt1 $_POST["TxtAlt1"];
 
$TxtAlt2 $_POST["TxtAlt2"];
 
$TxtAlt3 $_POST["TxtAlt3"];
 
$Nivel $_POST["Nivel"];
 
$Tipo_Contenido $_POST["Contenido"];
 
$Resp_Correcta $_POST["Correcta"];
 
 
 if (isset (
$_FILES["imagen"])) {
// obtenemos los datos del archivo
                    
$tamano  $_FILES["imagen"]['size'];
                    
$tipo    $_FILES["imagen"]['type'];
                    
$archivo $_FILES["imagen"]['name'];
                    

                    
$prefijo substr(md5(uniqid(rand())),0,6);

                    if (
$archivo != "") {

                        
// guardamos el archivo a la carpeta files
                        
$destino =  "FOTOS/".$prefijo."_".$archivo;
                           
$destino2 =  $prefijo."_".$archivo;

                        if (
copy($_FILES['imagen']['tmp_name'],$destino)) {

                         
//echo 'El archivo se subio con el nombre de '.$destino2.'<BR>';
                         //echo 'La direccion completa es: '.$destino;
                        
$imagen=$destino;
                        }

                            else {
                            echo 
'Error al cargar el archivo';
                        }
                  }  
//print_r($_POST);



if(isset(
$TxtPregunta)&&isset($TxtAlt1)&&isset($TxtAlt2)&&isset($TxtAlt3)&&isset($Nivel)&&isset($Tipo_Contenido)&&isset($Resp_Correcta))
{
    if (
$_POST['Guardar']=="Guardar")
    {
       if ((!empty(
$TxtPregunta))&&(!empty($TxtAlt1))&&(!empty($TxtAlt2))&&(!empty($TxtAlt3))&&(!empty($Tipo_Contenido))&&(!empty($Resp_Correcta)))
       {
          
$ObjEjerc = new Ejercicio($Autor,$Nivel,$Tipo_Contenido,$TxtPregunta,$TxtAlt1,$TxtAlt2,$TxtAlt3,$Resp_Correcta,$imagen);
         
          
$ObjEjerc->Ingresar();
          echo 
"<font color=red><b>Ejercicio ingresado correctamente</b></font>";
       }
       else 
       {
               echo 
"<font color=red><b>Complete todos los campos</b></font>";
       
       }
       
    }
}
  
?>
<div id="pic" class="pic">

</div>
<form id="form" name="form" method="post" action="" enctype="multipart/form-data">
  <table width="500" border="0" align="center" id="tabla" class="izquierda">
    <tr>
      <td valign="top"><span class="Estilo5">NIVEL:</span></td>
      <td colspan="2"><label></label></td>
    </tr>
    <tr>
      <td valign="top"><span class="Estilo5">CONTENIDO:</span></td>
      <td colspan="2"><label></label></td>
    </tr>
    <tr>
      <td valign="top"><span class="Estilo5">PREGUNTA:</span></td>
      <td colspan="2"><label>        </label></td>
    </tr>
    <tr>
      <td valign="top"><span class="Estilo5">IMAGEN</span></td>
      <td><label>
        
            <input name="imagen" type="file" id="imagen" tabindex="5" maxlength="100" onChange="xajax_generar_preview(document.getElementById('imagen').value)">
            </label>          </td><td><label></label></td>
    </tr>
    <tr>
      <td valign="top"><span class="Estilo5">ALTERNATIVA 1</span></td>
      <td colspan="2"><label></label></td>
    </tr>
    <tr>
      <td valign="top"><span class="Estilo5">ALTERNATIVA 2</span></td>
      <td colspan="2"><label></label></td>
    </tr>
    <tr>
      <td valign="top"><span class="Estilo5">ALTERNATIVA 3</span></td>
      <td colspan="2"><label></label></td>
    </tr>
    <tr>
      <td valign="top"><span class="Estilo5">CORRECTA:</span></td>
      <td colspan="2"><label></label></td>
    </tr>
    <tr>
      <td valign="top"><span class="Estilo5">
        <label>
        <input name="Guardar" type="submit" class="boton2" id="Guardar" value="Guardar" />
        </label>
      </span></td>
      <td colspan="2">&nbsp;</td>
    </tr>
  </table>
  
<?PHP
}
?>
 
 <p>
      <!--content ends -->
</p>
    <p>&nbsp;</p>
    <p>
      <!--footer begins -->
</p>
    <!-- footer ends-->
</body>
</html>
  #2 (permalink)  
Antiguo 15/12/2010, 11:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Preview de imagen con Xajax no funciona

Las versiones recientes de los navegadores no permiten hacer eso, vas a tener que buscar otra solución.

Saludos.

Etiquetas: php, xajax
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 18:53.