Jeżeli koniecznie musisz wykonywać obliczenia po stronie serwera, wykorzystując kod w drugim pliku PHP, a jednocześnie chcesz uzyskać wynik na pierwszej stronie asynchronicznie, to rzeczywiście posłuży Ci do tego Ajax:
function request(zmienna1, zmienna2){
let params = 'zmienna1='+encodeURIComponent(zmienna1)+'&zmienna2='+encodeURIComponent(zmienna2);
var xhr = new XMLHttpRequest();
xhr.open("POST", 'oblicz.php', true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onload = function() {
document.getElementById('wynik').value = this.responseText; /* do pola z wynikiem przypisujesz wynik obliczeń z drugiego pliku (oblicz.php, w którym wynik zwracasz finalnie np. za pomocą echo)
console.log(this.responseText); możesz opcjonalnie podejrzeć w konsoli co zwraca twój php, abyś był w stanie łatwo kontrolować błędy po drugiej stronie
*/
}
xhr.onerror =function() {
console.log("Info o błędzie requestu");
}
xhr.send(params); // Wysylasz żądanie do pliku oblicz.php wraz z Twoimi danymi (zmienna1, zmienna2, itd...)
}
Ostatecznie funkcje przypisz do właściwego eventu, np.:
document.getElementById('oblicz').addEventListener('click', request(zmienna1, zmienna2));