Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 3 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mar Feb 27, 2007 12:00 am
Mensajes: 279
Ubicación: PANAMA

Nota Publicado: Lun Mar 21, 2011 3:57 pm 
Arriba  
Hola buen dia,

Que tal mis estimados compañeros, la siguiente consulta es para ver si me pueden ayudar.

tengo el siguiente problema:

tengo un formulario el cual tiene 2 campos, dos <input />; entonces lo que busco hacer es que al terminar de escribir en un campo (en el primero) y salte para el segundo campo, el segundo <input />, el primero ó el dato del primer <input /> se mande a un archivo php para meterlo en una variable y poder hacer con el otras cosas...

o sea, que al perder el focus del primer <input />, ese dato se mande al otro fichero en php y poder manejarlo como una variable.

todo esto antes de presionar el boton de submit

he leido que puedo hacerlo con javascript pero no estoy muy segro de obtener lo que busco, a ver si hay alguien que sea una autoridad en el tema y me de una mano con esto.

Saludo.

_________________
http://greer.nodolinux.com


Última edición por greer el Mar Mar 22, 2011 8:15 pm, editado 3 veces en total
 Perfil WWW  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Nov 28, 2007 12:00 am
Mensajes: 1361
Ubicación: En la X del explorer (pulse para llamar)

Nota Publicado: Mar Mar 22, 2011 3:45 am 
Arriba  
Necesitarías ajax. Creo que utilizando jQuery lo tienes hecho en un par de días.
La idea sería que al perder el foco en el input, javascript lance un evento. En ese evento lo que haces es mandar una petición http asincrona a la página en cuestión mandándole la variable. Además tienes una función de callback en caso de que quisieras hacer algo cuando se haya realizado la petición (por ejemplo, cargar datos dinámicamente en el segundo input).

Además de descargar jQuery, puedes revisar los siguientes enlaces (en inglés):
http://api.jquery.com/jQuery.get/
http://api.jquery.com/jQuery.ajax/

Recomendaría que revisaras algunos tutoriales para ver algunos ejemplos, así seguramente sea más sencillo.

_________________
Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mar Feb 27, 2007 12:00 am
Mensajes: 279
Ubicación: PANAMA

Nota Publicado: Mar Mar 22, 2011 8:09 pm 
Arriba  
Hola, gacrias por responder,

Tambien estuve viendo que se puede usar el metodo onblur() pero como obtener ese dato desde el otro fichero php ?

seria algo como esto:

Código:
<input type="text" onblur = "location = 'tupagina.php?parametro=' + this.value" />


me parece que con onblur() va la cosa... ahora la vaina es como enviar ese dato a otro documento.php

Saludos.

Editado -- Mié Mar 23, 2011 12:09 pm --

Efectivamente akodo la solucion es/era usar jQuery como mensionastes...

Que es lo que hace ?

en un formulario hay 2 campos <input/> los dos se autocompletan usando Jquery y se autocompletan con datos de una base de datos MySQL, ahora bien mi problema era que en el primer <input/> si yo colocaba un dato, la idea era que en el segundo <input/> se acotaran los resultados del autocompletado con referencia al dato tipeado anteriormente en el primer <input/>.

tenia que hacer, que al escribir el dato del primer <input/>, ese dato pasara como variable para poder hacer la gestion en la conslta de la base de datos para que entonces solo se me mostraran los datos del segundo <input/> con relacion al primer dato.

aca dejo un pequeño pedazo de lo que hice:

index.html (formulario):

Código:
<html>
<head>
   <title>INFORME DE HORAS</title>
   <link rel="stylesheet" type="text/css" href="js/css/jquery-ui.css">
   <link rel="stylesheet" type="text/css" href="js/css/var.css">
   <script src="js/jquery.min.js"></script>
   <script src="js/jquery-ui.min.js"></script>
   <script type="text/javascript" src="js/jquery.0.js"></script>
   <script type="text/javascript">
      $(document).ready(function() {
         $("#autocompletar_c").autocomplete({
            source: "phps/autocompletar.c.php",
            minLength: 1
         });
         $('#autocompletar_p').autocomplete({
            source: function(request, response) {
               $.ajax({
                  url: "phps/autocompletar.p.php",
                  dataType: "json",
                  data: {
                     term : request.term,
                     autocompletar_c : $('#autocompletar_c').val()
                  },
                  success: function(data) {
                     response(data);
                  }
               });
            },
            minLength: 1
         });
      });
   </script>
</head>

<body>
<center><h2>INFORME DE HORAS</h2>
<form id="infor" name="popup" action="phps/timesheet.php" method="get">
Cliente:
<input type="text" id="autocompletar_c" name="nombre" size="47" />
<br><br>
Asunto:
<input type="text" id="autocompletar_p" name="asunto" size="47" />
<br><br>
<input name="submit" type="submit" value="Enviar" />
<input type="reset" value="Borrar">
</form>
</center>
</body>
</html>


autocompletar.p.php (donde se hace la consulta a la base de datos)

Código:
<?php

$retornar_array = array();

@$net = mysql_connect('localhost','root','123456789') or die ('Error al conectar a la base de datos');
mysql_select_db('base02',$net);

$cuenta = $_GET['autocompletar_c'];

if($net){
   $fetch = mysql_query("
            SELECT
               p.name AS asunto,
               a.name
            FROM
               accounts AS a
                  RIGHT OUTER JOIN accounts_project_c AS cpc
                  ON cpc.accounts_pef09ccounts_ida = a.id
                  RIGHT OUTER JOIN project AS p
                  ON cpc.accounts_pa33bproject_idb = p.id
                  AND cpc.deleted = 0
            WHERE
               a.name = '$cuenta'
               AND p.name like '".$_GET['term']."%_'");

   while($row = mysql_fetch_array($fetch, MYSQL_ASSOC)){
      $row_array['label'] = $row['asunto'];
      array_push($retornar_array,$row_array);
   }
}

mysql_close($net);

echo json_encode($retornar_array);

?>


Saludos y gracias.

_________________
http://greer.nodolinux.com

 Perfil WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 3 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO