Foros del Web » Programando para Internet » Javascript »

cargar varios input text con ajax

Estas en el tema de cargar varios input text con ajax en el foro de Javascript en Foros del Web. saludos compañeros, estoy inciando con ajax y fijense e logrado hacer una consulta retornar un valor y mostrarlo en un input text, pero ahora quiero ...
  #1 (permalink)  
Antiguo 02/08/2013, 19:19
 
Fecha de Ingreso: abril-2006
Mensajes: 72
Antigüedad: 18 años
Puntos: 0
cargar varios input text con ajax

saludos compañeros, estoy inciando con ajax y fijense e logrado hacer una consulta retornar un valor y mostrarlo en un input text, pero ahora quiero cargar con la info varios text. ejemplo si paso por parametro el ID de un registro y este registro tiene nombre,cedula y telefono quiero con los text se actualicen con la informacion que me retorna.
les muestro que tengo:
registro.php // aqui solicito la informacion que identifica el registro y llamo a una funcion en javascript

Código HTML:
<table class="table-bordered" width="100%" cellspacing="3" cellpadding="3">
<tr>
  <td colspan="2" ><div  align="center">Registro de Contribuyentes</div></td>
</tr>
<tr>
  <td width="474" ><select name="tipo" id="tipo" class="select_rif">
    <option selected value="J">J</option>
    <option value="V">V</option>
    <option value="G">G</option>
    <option value="P">P</option>
    <option value="E">E</option>
  </select>    
    <input name="rif" type="text" id="rif" onKeyPress="return teclear(event,3)" maxlength="9" placeholder="Rif:120001113"></td>
  <td width="443" ><div align="left"><input type="button" name="button" id="button" value="Busca Contribuyente" onClick='carga_contrato(this.rif)'></div></td>
</tr>
</table> 
ahi tipeo el rif y lo paso a carga_contrato()

Código:
function carga_contrato(rif_contri)
{ 

	var ajax=nuevoAjax();
	var selectOrigen=document.getElementById('tipo');
	// Obtengo la opcion que el usuario selecciono
	var opcionSeleccionada=selectOrigen.options[selectOrigen.selectedIndex].value;
	var rif=opcionSeleccionada+document.getElementById('rif').value;//contruyo el rif
	
		// Creo el nuevo objeto AJAX y envio al servidor el ID del select a cargar y la opcion seleccionada del select origen
		var ajax=nuevoAjax();
		ajax.open("GET", "funcion_ajax.php?rif="+rif+"&sw=1", true);// va uno en sw por que el uno sera para resolver esta funcion de verificar contribuyente
		ajax.onreadystatechange=function() 
		{ 
			
			if (ajax.readyState==4)
			{   
					var resultado=ajax.responseText;
					
					if(resultado=="1"){
					
					var ajax2=nuevoAjax();
		ajax2.open("GET", "funcion_ajax.php?rif="+rif+"&sw=2", true);//paso 2 por esta me retornara los datos del contribuyente y su representante legal
		ajax2.onreadystatechange=function() 
		{ 
					
						
						
											
					div_oculto=document.getElementById('div_oculto');
					div_oculto.style.visibility = "visible"; 
					div_oculto.innerHTML=ajax2.responseText;
					
					
					
					
					}
		ajax2.send(null);
					
					}else{
						alert("El contribuyente no existe");
						
						}
			} 
		}
		ajax.send(null);
	
	
	
	
	}
div_oculto contiene todos los input text

el php funcion_ajax es este
Código PHP:
<?php
session_start
();
if (
$_POST or $_GET or isset( $_SERVER['HTTP_REFERER'] )) {
    
$refer strtolower$_SERVER['HTTP_REFERER'] ); 
    if(
substr_count($refer'localhost/sia')==1){

if(
$_GET['sw']=="1")//registro de contrato
{
    
$rif_ci=$_GET['rif'];
    include_once 
'conexion.php';  conecta_sia();
     
$sql="select rif_ci from rif where rif_ci='$rif_ci'";
                       
$consulta=mysql_query($sql) or die(mysql_error());  
      if(
$res=mysql_fetch_object($consulta))
    { echo 
"1"; }else{ echo "0";    }    
    
cerrar_conexion();  
}else{
        if(
$_GET['sw']=="2")
            {
                
// voy a devolver los campos de contribuyente y representante legal, nombre,cedula,telefono
                
$rif_ci=$_GET['rif'];
    include_once 
'conexion.php';  conecta_sia();
     
$sql="select nombre,rif_ci,telefono,nombre_representante,cedula_representante,telefono_rep from rif where rif_ci='$rif_ci'";
                       
$consulta=mysql_query($sql) or die(mysql_error());  
      if(
$res=mysql_fetch_object($consulta))
    { 
        
// pinto todos los edit
        // Comienzo a imprimir el select
    
$nombre=$res->nombre;
    echo 
"<input name='nombre_contribuyente' type='text' class='edit_nombre' id='nombre_contribuyente' value='".$nombre."' readonly='readonly' placeholder='Nombre o Razon Social' >";

echo 
"<input name='rif_reg' type='text' id='rif_reg' readonly='readonly' value='".$res->rif_ci."' >";

echo 
"<input name='telefono_contribuyente' type='text' id='telefono_contribuyente' readonly='readonly' placeholder='Teléfono' value='".$res->telefono."' >";

echo 
"<input name='nombre_rep' type='text' class='edit_nombre' id='nombre_rep' readonly='readonly' placeholder='Nombre y Apellido' value='".$res->nombre_representante."' >";

echo 
"<input name='cedula_rep' type='text' id='cedula_rep' readonly='readonly' placeholder='Cédula:17111222' value='".$res->cedula_representante."' >";

echo 
"<input name='telefono_rep' type='text' id='telefono_rep' readonly='readonly' placeholder='Teléfono:04160001122' value='".$res->telefono_rep."' >";    
        
    
        
        
    }else{
         echo 
"0";    
         }    
    
    
    
cerrar_conexion();  
        
                }
    
    
    
    
    
    
    }









 


    }else{
echo (
"<script language='javascript'>                                                  
           alert('Esta pagina es privada, no tiene los permisos necesarios')
              var pagina='../index.php'
              location.href=pagina</script>"
);

}

 }else{
echo (
"<script language='javascript'>                                                  
           alert('Esta pagina es privada, no tiene los permisos necesarios')
              var pagina='../index.php'
              location.href=pagina</script>"
);

?>

si hay algo en el ajax que optimizar se agradece todo lo que e logrado a sido viendo ejemplos y tratando de imitar el funcionamiento no e trabajado con ajax antes.
  #2 (permalink)  
Antiguo 02/08/2013, 19:30
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: cargar varios input text con ajax

Hola:

Para recibir más de un dato, yo recomiendo el formato xml, y en vez de usar responseText, usar responseXML; otra opción es poner algún separador (tal vez baste una simple coma (,))..., y separar la cadena con substr o split...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 02/08/2013, 20:25
 
Fecha de Ingreso: abril-2006
Mensajes: 72
Antigüedad: 18 años
Puntos: 0
Respuesta: cargar varios input text con ajax

Lo del delimitador fue como lo solucione. Buscare ejemplo de implementación del XML. Gracias
  #4 (permalink)  
Antiguo 03/08/2013, 18:56
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: cargar varios input text con ajax

Hola:

con xml es como suelo hacer mis implementaciones Ajax... tal vez te sirva de ejemplo alguno de mis apuntes... como: Ajax, con X de XML.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: ajax, funcion, html, input, php, select, text
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 07:17.