Foros del Web » Programando para Internet » Javascript »

Enviar "select" sin recargar pagina ni borrar datos

Estas en el tema de Enviar "select" sin recargar pagina ni borrar datos en el foro de Javascript en Foros del Web. Buenas estoy haciendo una factura , pero quiero que cuando elija una opcion del select, haga una comparacion, quiero comparar el resultado del select con ...
  #1 (permalink)  
Antiguo 24/02/2016, 10:33
 
Fecha de Ingreso: febrero-2016
Mensajes: 4
Antigüedad: 8 años, 2 meses
Puntos: 0
Exclamación Enviar "select" sin recargar pagina ni borrar datos

Buenas estoy haciendo una factura ,
pero quiero que cuando elija una opcion del select, haga una comparacion,
quiero comparar el resultado del select con mi base de datos, para que automaticamente luego se llenen los demas inputs, como son cantidad, precio unitario, codigo, etc.
pero no quiero que la pagina se recarge al hacer esto, por esa razon quisiera enviar el valor del "select" a php para comparar con los if
como podria lograr esto? ayuda por favor!

  #2 (permalink)  
Antiguo 24/02/2016, 10:35
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Enviar "select" sin recargar pagina ni borrar datos

Puedes usar ajax


Ejemplo
  #3 (permalink)  
Antiguo 24/02/2016, 10:38
 
Fecha de Ingreso: febrero-2016
Mensajes: 4
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Enviar "select" sin recargar pagina ni borrar datos

eso estoy intentando, pero no me funciona

este es mi codigo de JS:
function enviar(){
var d1=document.getElementById("descripcion1").value;
$.ajax({
type:'POST',
URL:"factura.php",
data:{descripcion1:d1},

success:function(datos){

$("#mostrardatos").html(datos);
}});
}
  #4 (permalink)  
Antiguo 24/02/2016, 10:58
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Enviar "select" sin recargar pagina ni borrar datos

Exportaste jquery??
var d1 tiene valores??
Al poner success:function(datos){alert(datos);} que muestra?
  #5 (permalink)  
Antiguo 24/02/2016, 16:01
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Enviar "select" sin recargar pagina ni borrar datos

Bienvenido a Foros del Web.

Para que no te compliques con el tema de la importación de librerías, realiza la petición asíncrona con código JavaScript nativo:
Código Javascript:
Ver original
  1. function enviar(){
  2.     var ajax = new XMLHttpRequest();
  3.     ajax.open("POST", "factura.php", true);
  4.     ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  5.     ajax.addEventListener("load", function(){
  6.         if (this.status == 200){
  7.             document.querySelector("#mostrardatos").innerHTML = this.responseText;
  8.         }
  9.     }, false);
  10.     ajax.send("d1=" + document.querySelector("#descripcion1").value);
  11. }

Lo que el script realizará consiste en, primero, crear una instancia al objeto XMLHttpRequest para poder realizar la petición asíncrona; luego, establecer el método de envío, la ruta hacia la cual se enviará el dato; enseguida, determinar si la petición será asíncrona o no, añadir la cabecera para realizar el envío mediante el método POST; a continuación, recibir la respuesta una vez que se haya completado la petición y esta sea exitosa; y, finalmente, enviar el dato mediante una cadena de consulta.

Como puedes ver, el proceso es sencillo, corto y no hubo necesidad de utilizar ninguna librería.

Enlaces de referencia:
En el segundo enlace hay más enlaces muy útiles, como este.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 25/02/2016, 09:02
 
Fecha de Ingreso: febrero-2016
Mensajes: 4
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Enviar "select" sin recargar pagina ni borrar datos

al ejecutar la funcion, me sale esto : osea me copia de nuevo la misma factura



pero al poner mi funcion, me sale bien, pero me copia nuevamente la factura debajo de la que ya tengo , que sera, ayudame plz

Codigo html:
</tr><?php
include("conexion.php");
$query="SELECT *FROM tabla_imagen";
$resultado=$conexion->query($query);
?>
<tr>
<td><input name="codigo1" type="text" size="10" onchange=""></td>
<td><select name="descripcion1" id="descripcion1">
<option value="">Seleccione un producto</option>
<?php while($row= $resultado->fetch_assoc()){?>
<option value="<?php echo $row['nombre'];?>"><?php echo $row['nombre'];?></option><?php
}
?></select>
<input type="button" onclick="enviar();">
<?php
$d1=$_POST["descripcion1"];
echo $d1;
?>
</td>
<td><input name="cantidad1" id="cantidad1" type="number" onkeyup="sumar();total();" size="5"></td>
<td><input name="precio_unitario1" id="precio_unitario1" onkeyup="sumar();total();" type="text" size="15"></td>
<td><input name="precio_total1" id="precio_total1" value="0" type="text" onkeyup="sumar();total();" size="15"></td>

Última edición por armanddo; 25/02/2016 a las 09:09

Etiquetas: javascript+html, javascript+php, php, php+ajax
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 10:58.