Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2013, 15:53
Avatar de rodrigoemece
rodrigoemece
 
Fecha de Ingreso: septiembre-2011
Mensajes: 68
Antigüedad: 12 años, 8 meses
Puntos: 1
Exclamación Pasar array PHP a función Javascript

Quiero escanear un archivo, pasar su contenido a un array y mostrar por pantalla uno de sus elementos aleatoriamente. Para evitar recargar la página de cada vez debo usar javascript pero no lo domino y estoy un poco perdido. Aquí está mi intento, muchas gracias por vuestra ayuda :)

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.     <title>Subir archivo</title>
  3.     <head>
  4.         <link href="estilo.css" rel="stylesheet" type="text/css" />
  5.     </head>
  6.     <body>
  7.    
  8.     <script>
  9.     function random(inferior,superior){  // FUNCIÓN QUE DEVUELVE UN NÚMERO ALEATORIO ACOTADO
  10.         numPosibilidades = superior - inferior
  11.         aleat = Math.random() * numPosibilidades
  12.         aleat = Math.floor(aleat)
  13.         return parseInt(inferior) + aleat
  14.     }
  15.  
  16.     function elmento_random(vect,cont){ // FUNCIÓN QUE NOTIFICA UN ELEMENTO ALEATORIO DEL VECTOR
  17.         alert(vect[random(0,cont-1)]);
  18.     }
  19.    
  20.     </script>
  21.    
  22.     <form action="index.php" method="post" enctype="multipart/form-data">
  23.           <input name="arquivo" type="file" size="35" />
  24.           <input name="enviar" type="submit" value="Cargar archivo" />
  25.           <input name="action" type="hidden" value="upload" />         
  26.     </form>
  27.        
  28.     <?php
  29.         if ($_FILES["arquivo"]['type'] == "text/plain" && $_FILES["arquivo"]['error'] == 0){
  30.             move_uploaded_file($_FILES['arquivo']['tmp_name'],"temp/temp");
  31.             $fp = fopen("temp/temp","r"); // SE ABRE EL ARCHIVO ENVIADO POR FORMULARIO
  32.             $i = 0;
  33.             while(!feof($fp)){
  34.                 $reto[$i] = fgets($fp); // SE GUARDA SU CONTENIDO EN UN ARRAY
  35.                 $i++;
  36.             }
  37.             fclose($fp);
  38.         }      
  39.     ?> 
  40.    
  41.     <script>
  42.         var jVect = <?php echo json_encode($reto);?>; // PRETENDO PASAR EL ARRAY DE ELEMENTOS A LA FUNCIÓN elemento_random DE JAVASCRIPT
  43.         var jCont = "<?php echo $i;?>;" // PRETENDO PASAR EL CONTADOR A LA MISMA FUNCIÓN
  44.     </script>
  45.    
  46.     <input type="button" value="RANDOM" onClick="elemento_random(jVect,jCont)"> <!-- AL CLICAR EL BOTÓN DEBERÍA LLAMAR A LA FUNCIÓN CON LOS DOS PARÁMETROS -->
  47.        
  48.     </body>
  49. </html>