这很简单,但我似乎无法在Codeigniter中实现。
使用简单的php应该是:
<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
我把表单放在我的视图中,我的控制器中的php但是我希望它在同一页面中返回结果而不是重定向我。
提前感谢您的回复。
答案 0 :(得分:2)
使用提交按钮将jQuery与此类似。
$(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
});
});
将计算结果的PHP放在'path / to / controller / method'中并将其return $result;
。
当用户点击提交按钮时,它会向新视图提交ajax请求,并将结果返回给jQuery,然后您可以在其中更改页面或者您想要执行的操作。
答案 1 :(得分:0)
这是$_SERVER["PHP_SELF"]
。请记住,对于帖子(除非使用ajax调用),需要刷新页面。