开发者

How to return the result of a function in the same page using 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="wid开发者_C百科th">
<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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜