Foros del Web » Programando para Internet » PHP »

Que no cambie de pagina al dar submit

Estas en el tema de Que no cambie de pagina al dar submit en el foro de PHP en Foros del Web. Tengo 2 archivos php en el primero tengo Código HTML: <form action= "suma.php" method= "post" > <input type= "text" name= "numx" id= "numx" > <input ...
  #1 (permalink)  
Antiguo 09/05/2015, 18:56
 
Fecha de Ingreso: mayo-2015
Mensajes: 1
Antigüedad: 4 años, 11 meses
Puntos: 0
Que no cambie de pagina al dar submit

Tengo 2 archivos php en el primero tengo
Código HTML:
<form action="suma.php" method="post">

<input type="text" name="numx" id="numx" >
<input type="text" name="numy" id="numy" >
<input type="submit" value="sumar">
</form> 
y en el otro tengo
Código PHP:
<? php
 
class Suma{
 private 
numerox;
 private 
numeroy;
 public 
resultado;
 function 
__construct($numerox,$numeroy){
   
$this->numerox=$numerox;
   
$this->numeroy=$numeroy;
 }
  function 
sumarNum(){
   
$this-resultado $this->numerox $this->numeroy;
  }
 }
  
$x $_POST['numx'];
  
$y $_POST['numy'];
  
$test = new Suma($x,$y);
  
$test->sumarNum();
?>
Si hace bien la suma y todo pero como hago para que el resultado se imprima abajo del formulario que esta en el primer archivo por que cuando le doy submit se cambia de pagina al otro archivo php
  #2 (permalink)  
Antiguo 09/05/2015, 20:03
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 6 años, 7 meses
Puntos: 145
Respuesta: Que no cambie de pagina al dar submit

Esta clase de cosas se suelen hacer en AJAX.
__________________
¿Te sirvió la respuesta? Deja un +1
  #3 (permalink)  
Antiguo 09/05/2015, 21:27
 
Fecha de Ingreso: abril-2015
Ubicación: Bogotá D.C - Colombia
Mensajes: 106
Antigüedad: 5 años
Puntos: 11
Respuesta: Que no cambie de pagina al dar submit

Hola amigo mira lo puedes lograr así:

El formulario quedaría mas o menos así:
<!DOCTYPE html>
<!--
Generalmente solo se importa Jquery y se realiza un evento submit para el formulario al cual puse un id, para que se cancele su operación y se realice con Ajax previamente.
-->
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="https://code.jquery.com/jquery-1.11.3.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#formulario').submit(function(event) {
event.preventDefault();
$.ajax({
url: 'suma.php',
type: 'POST',
data: $('#formulario').serializeArray(),
success: function(data) {
$('#resultado').val(data);
}
});
});
});
</script>
</head>
<body>
<form action="suma.php" method="post" id="formulario">
<input type="text" name="numx" id="numx" >
<input type="text" name="numy" id="numy" >
<input type="submit" value="Sumar">
</form>
<br/>
<label>Resultado: </label><input type="number" id="resultado" disabled="disabled"/>
</body>
</html>


y el archivo donde se realiza la suma quedaría así:
<?php
class Suma {
private $numerox;
private $numeroy;
public $resultado;

function __construct($numerox, $numeroy) {
$this->numerox = $numerox;
$this->numeroy = $numeroy;
}

function sumarNum() {
$resultado = $this->numerox + $this->numeroy;
return $resultado;
}
}

$x = $_POST['numx'];
$y = $_POST['numy'];
$test = new Suma($x, $y);
echo $test->sumarNum(); //Se imprime el resultado para darlo a conocer a la petición ajax que se haga. ;)
?>

Eso sería todo Éxitos!

Etiquetas: formulario, submit
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 20:08.