2

我有一个 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 类

<?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

4 回答 4

3

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

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

});
于 2013-06-26T12:08:10.323 回答
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);
     }
   }); 
});  
于 2013-06-26T11:04:37.120 回答
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;
        }
    }
}
于 2013-06-26T10:07:37.797 回答
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>
于 2013-06-26T10:09:31.813 回答