表单提交php函数返回值打印在html中

时间:2013-06-26 09:59:36

标签: php html

我有一个HTML表单。当我提交表单时,它设法调用一个函数。我想在html页面中显示结果。图片是这样的: HTML

<form method="post" action="" enctype="multipart/form-data" name="uploadForm">
<input name="test" />
<input type="submit" name="submit" />
</form>

<div id="data"><?php echo $result; ?></div>

PHP CLASS

<?php
class Test{

    public function __construct(){
        if(isset($_POST['submit'])){
            $result = $this->myfunction();
        }
    }
        private function myfunction(){
        //some actions
        return "values";
        }
}

我只是提出这个想法。类文件是不同的php文件,所以html是。创建了类的实例。如何在提交表单后在div id =“data”中显示结果“值”?

4 个答案:

答案 0 :(得分:3)

使用AJAX,我们可以按如下方式在特定div中显示结果:

$('#submitBtn').click(function(){
   $.post("YourFile.php",{$('#form').serialize()},function(res){
       $('#data').html(res);
   });

});

答案 1 :(得分:1)

虽然你的方法看起来有点奇怪,但这是一个应该有效的版本:

你的html文件:

<?php /* Includes here */ ?>
<?php $result = new Test($_POST)->getResult(); ?>
<form method="post" action="" enctype="multipart/form-data" name="uploadForm">
<input name="test" />
<input type="submit" name="submit" />
</form>

<div id="data"><?php echo $result; ?></div>

你的php课程:

<?php
    class Test{

        private $result = '';

        public function __construct($postData){
            if(isset($data['submit'])){
                $this->result = $this->myfunction();
            }
        }

        private function myfunction($postData){
            //some actions
            return "values";
        }

        public function getResult() {
            return $this->result;
        }
    }
}

答案 2 :(得分:1)

为了获得所需的代码,您需要使用AJAX。

在你的js文件中你需要添加

$('#form type=[submit]').click(function(e){
   e.preventDefault();//prevents default form submit.
   $.ajax({    //fetches data from file and inserts it in <div id="data"></div>
     url:'your url here',
     data:{data:$(#form).serialize()},
     success :function(data){
$('#data').html(data);
     }
   }); 
});  

答案 3 :(得分:0)

您必须包含文件或代码

 <?php
  class Test{
    public $result;
    public function __construct(){
        if(isset($_POST['submit'])){
            $this->result=$this->myfunction();
        }
    }
        private function myfunction(){
        //some actions
        return "values";
        }
} 

if(isset($_POST)){
 $test = new Test();
$result=$test->result;
}
?>
<form method="post" action="" enctype="multipart/form-data" name="uploadForm">
<input name="test" />
<input type="submit" name="submit" />
</form>   

<div id="data"><?php echo $result; ?></div>