如何使用jQuery在同一页面中返回函数的结果?

This is simple but I don't seem able to make it happen in Codeigniter.

Using simple php it should be:

<form id="volume" method="post" action="<?php echo $PHP_SELF;?>">
<label>length(cm):</label>
<input type="text" name="length">
<label>width(cm):</label>
<input type="text" name="width">
<label>height(cm):</label>
<input type="text" name="height">
<button type="submit">Submit</button>
</form>


<?php

$length = $_POST["length"];
$width = $_POST["width"];
$height = $_POST["height"];
$variable = 5000;

$sum_total = ($length * $width * $height) / $variable;

printf ("%01.2f" , $sum_total);

?> kg

I put the form in my view, the php in my controller but I want it to return the result in the same page instead of redirecting me.

Thank you all in advance for your responses.

Put jQuery similar to this on the page with your submit button.

$(document).ready(function(){
  $('#volume').submit(function(event){
    event.preventDefault();

    var post_array = {
        length: $('input[name=length]').val();
        width: $('input[name=width]').val();
        // etc
    };

    $.post('path/to/controller/method', post_array, function(data){
        alert(data); // do stuff;
    }

    return false; //to stop the form from submitting
  });
});

Put the PHP that calculates the result in 'path/to/controller/method' and have it return $result;.

When a user clicks the submit button it will submit an ajax request to your new view and return the result to jQuery where you can then change the page or w/e you want to do.

It's $_SERVER["PHP_SELF"]. Keep in mind that for a post (unless using ajax calls), a refresh of the page is required.