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

Pasar varios valores por ajax

Estas en el tema de Pasar varios valores por ajax en el foro de Frameworks JS en Foros del Web. Buenos Dias gracias por leer mi nota, tengo un script en ajax que depende de un select este al ser cambiado debe llenar varios input ...
  #1 (permalink)  
Antiguo 25/02/2009, 15:44
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Exclamación Pasar varios valores por ajax

Buenos Dias gracias por leer mi nota, tengo un script en ajax que depende de un select este al ser cambiado debe llenar varios input al mismo tiempo lo he estado intentando con un split y no me funciona , aca les deje la funcion ajax:

Código:
function ajaxFunction(){
	var ajaxRequest;  // The variable that makes Ajax possible!
	
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Su navegador no soporta AJAX, por favor hable con sistemas");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay1 = document.getElementById('id_entrada');
			var ajaxDisplay2 = document.getElementById('descripcion');
			var ajaxDisplay3 = document.getElementById('serial');
			var ajaxDisplay4 = document.getElementById('proveedor');
			var ajaxDisplay5 = document.getElementById('direccion');
			var ajaxDisplay6 = document.getElementById('telefono');
			var resultado = ajaxRequest.responseText; 
			var resul = resultado.split['--'];
			ajaxDisplay1.value = resul[0];
			ajaxDisplay2.value = resul[1];
			ajaxDisplay3.value = resul[2];
			ajaxDisplay4.value = resul[3];
			ajaxDisplay5.value = resul[4];
			ajaxDisplay6.value = resul[5];
		}
	}
	var activo = document.getElementById('activo').value;
	var queryString = "?activo=" + activo;
	ajaxRequest.open("GET", "activo2.php" + queryString, true);
	ajaxRequest.send(null); 
}
El formulario en PHP (parte de el)
nota_entrega.php

Código PHP:
<form action="<?php echo $editFormAction?>" method="post" name="form1" id="form1" onsubmit="MM_validateForm('descripcion','','R','serial','','R','proveedor','','R','direccion','','R','telefono','','R','fecha_entrada','','R','nombre_receptor','','R');return document.MM_returnValue">
  <p align="center"><div id="capa">
</div>&nbsp;</p>
  <table align="center">
    <tr valign="baseline">
      <td width="214" align="right" nowrap="nowrap"><strong>Serial Empresarial:</strong></td>
      <td width="279"><select name="serial_emp_2" id="activo" onchange="ajaxFunction();">
        <option selected="selected" value="">Seleccione Activo</option>
        <?php
do {  
?>
        <option value="<?php echo $row_Activos_Entrega_salidas['serial_emp']?>"><?php echo $row_Activos_Entrega_salidas['serial_emp']?></option>
        <?php
} while ($row_Activos_Entrega_salidas mysql_fetch_assoc($Activos_Entrega_salidas));
  
$rows mysql_num_rows($Activos_Entrega_salidas);
  if(
$rows 0) {
      
mysql_data_seek($Activos_Entrega_salidas0);
      
$row_Activos_Entrega_salidas mysql_fetch_assoc($Activos_Entrega_salidas);
  }
?>
      </select>      </td>
    </tr>
    <tr> </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Descripción:</strong></td>
      <td><input name="descripcion" type="text" id="descripcion" value="" size="32" readonly="readonly"/></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Serial:</strong></td>
      <td><input name="serial" type="text" id="serial" value="" size="32" readonly="readonly"/></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Proveedor:</strong></td>
      <td><input name="proveedor" type="text" id="proveedor" value="" size="32" readonly="readonly"/></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Dirección:</strong></td>
      <td><input name="direccion" type="text" id="direccion" value="" size="32" readonly="readonly"/></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Telefono:</strong></td>
      <td><input name="telefono" type="text" id="telefono" value="" size="32" readonly="readonly"/></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Fecha de Recepción:</strong></td>
      <td><input name="fecha_entrada" type="text" id="fecha_entrada" value="" size="32" readonly="readonly" style="cursor: text" onclick="ds_sh(this);"/></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>CI de Persona que recibio:</strong></td>
      <td><select name="ci_receptor" id="ci_receptor" onchange="ajaxFunction2();" >
        <option selected="selected" value="">Seleccione Persona Receptora</option>
        <?php
do {  
?>
        <option value="<?php echo $row_Activos_Entrada_Usuarios['cedula']?>"><?php echo $row_Activos_Entrada_Usuarios['cedula']?></option>
        <?php
} while ($row_Activos_Entrada_Usuarios mysql_fetch_assoc($Activos_Entrada_Usuarios));
  
$rows mysql_num_rows($Activos_Entrada_Usuarios);
  if(
$rows 0) {
      
mysql_data_seek($Activos_Entrada_Usuarios0);
      
$row_Activos_Entrada_Usuarios mysql_fetch_assoc($Activos_Entrada_Usuarios);
  }
?>
      </select>      </td>
    </tr>
    <tr> </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Nombre de Persona que recibio:</strong></td>
      <td><input name="nombre_receptor" type="text" id="nombre_receptor" value="" size="32" readonly="readonly"/></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input name="Submit" type="submit" value="Crear Nota de Entrega" />
      <label>
      <input type="reset" name="Reset" id="button" value="Reestablecer" />
      </label></td>
    </tr>
  </table>
  <input type="hidden" name="id_entrada" id="id_entrada" value="" />
  <input type="hidden" name="MM_insert" value="form1" />
</form>
Y la accion a tomar
activo2.php

Código PHP:
<?php
include "conectarse.php";
    
// Retrieve data from Query String
$activo $_GET['activo'];
    
// Escape User Input to help prevent SQL Injection
$activo mysql_real_escape_string($activo);
    
//build query
$display_string "";
    
if (
$activo!="Seleccione Activo")
{
    
$query "SELECT * FROM `activos`.`salidas` WHERE `serial_emp` = '".$activo."' ";
    
$qry_result mysql_query($query) or die(mysql_error());


    
// Insert a new row in the table for each person returned
    
while($row mysql_fetch_array($qry_result)){
        
$display_string1 $row['id_salida'];
        
$display_string2 $row['descripcion'];
        
$display_string3 $row['serial'];
        
$display_string4 $row['proveedor'];
        
$display_string5 $row['direccion'];
        
$display_string6 $row['telefono'];
    }
    
$display_string1 mysql_real_escape_string($display_string1);
$display_string2 mysql_real_escape_string($display_string2);
$display_string3 mysql_real_escape_string($display_string3);
$display_string4 mysql_real_escape_string($display_string4);
$display_string5 mysql_real_escape_string($display_string5);
$display_string6 mysql_real_escape_string($display_string6);

$display_string $display_string1."--".$display_string2."--".$display_string3."--".$display_string4."--".$display_string5."--".$display_string6;
    
}

echo 
$display_string

?>
La cuestion es que no realiza nada por eso es que recurro a uds para la solucion.

Saludos y Gracias!
  #2 (permalink)  
Antiguo 25/02/2009, 15:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pasar varios valores por ajax

Lo único que se me ocurre es cambiar:

var resul = resultado.split['--'];

Por:

var resul = resultado.split('--');

split() es una función no un array por otro lado te recomiendo usar Firefox/Firebug para monitorear tus requests AJAX.

Saludos
  #3 (permalink)  
Antiguo 26/02/2009, 13:49
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Pasar varios valores por ajax

Gracias amigo ese era el detalle da el tema como solucionado por favor
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 19:29.