Hola mafersa,
Respondiendo a tu pregunta "No entiendo muy bien la función, sé que lo que salga en calculos.php lo pondrá en el contenedor con id=contenedor"...
Código:
// Cuando el documento este listo (todo los recursos cargados)...
$(document).ready(function(){
// Capturar los eventos change en todos los elementos #contenedor input
$("#contenedor input").change(function(){
// Llamar a la funcion calcula()
calcula();
});
});
// Definicion de la funcion calcula()
function calcula(){
// Convierto los elementos del formulario a string para poder ser enviados en una peticion y lo asigno a la variable datos
var datos = $("#formulario").serialize();
// Asigno el string calculos.php a la variable url
var url = "calculos.php";
// Realizo una peticion Ajax de tipo post a la url "url" enviando los datos contenidos en "datos", y si la peticion fue exitosa llamo a la funcion callback
$.post(url,datos,function(data){
// Inserto el contenido de la variable "data" en el elemento con id #contenedor
$( "#contenedor" ).html( data );
});
};
Espero que mis comentarios te ayuden a comprender mejor como funciona tu codigo.
En cuanto a tu otra pregunta "Yo en realidad lo que quiero es simplemente que al meter cambios en el formulario, automáticamente se haga un recálculo y aparezca en otro input."...
Para hacer eso no es necesario realizar una peticion Ajax, puedes gestionarlo todo desde Javascript.
Caputras el evento de los inputs, haces los calculos necesarios y el resultado lo asignas al elemento que tu quieras.
Saludos.