0

我有一个非常烦人的问题,我不知道我做错了什么。它(再次)与将页面加载到 DIV 中有关。

我制作了一个表格,可用于将信息更新到数据库中。此表单和 PHP 代码位于一个文件中,并且正在加载到一个 DIV 中。当我访问加载到 DIV 本身的页面时,一切正常,并且数据库正在按应有的方式更新。

但是,当页面加载到页面中时。当我按下提交时,没有任何反应。我想要发生的是回声,要么是“成功!” 或“错误!” 显示在与页面加载到相同的 DIV 中。这是我的代码,希望有人能帮忙!有些变量是荷兰语,请原谅。

 if(isset($_POST['submit']))  {

                     include "database.php";
                     session_start();

                     $id = $_POST['id'];
                     $titel = $_POST['titel'];
                     $text = $_POST['text'];
                     $categorie = $_POST['categorie'];
                     $auteur = $_SESSION['sess_loginnaam'];
                     $laatst_aangepast = date("Y-m-d H:i:s");

                     $sql="UPDATE paginas SET id='$id', titel='$titel', text='$text', categorie='$categorie', auteur='$auteur', laatst_aangepast='$laatst_aangepast' WHERE id='$id'";
                     $result=mysql_query($sql);
                     if($result){
                     echo "Success!";
                     ?>
                     <META HTTP-EQUIV="refresh" content="2;URL=index.php">
                      <?php }
                     else {
                         echo "Mislukt!";
                     }
                 }

                 else {

                     include "database.php";
                     $id = $_GET['id'];
                     $sql="SELECT * FROM paginas WHERE id='$id'";
                     $result=mysql_query($sql);
                     $rows=mysql_fetch_array($result);

                     <form name="form1" method="post" action="">
                     ID:
                     <input name="id" type="text" id="id" value="<? echo $rows['ID']; ?>"     size="2"></div> Titel:
                     <input name="titel" type="text" id="titel" value="<? echo $rows['titel']; ?>" size="50%"> Categorie: <select name="categorie"><option    value="Paginas">Pagina's</option>
                     </select>
                     Tekst:
                     <textarea name="text" type="text" id="text" rows="31" cols="79"><?                echo $rows['text']; ? ></textarea>
                     <button type="submit" name="submit">Edit!</button>
                     </form>

这是我用来将此页面加载到 DIV 中的代码:

$("#edit").on('click',function(){
$('#content').load($(this).attr('href'));
  });

那么我怎样才能设法将回声显示到同一个 DIV 中呢?:)

4

1 回答 1

0

$.load相当于$.get您的 php 代码检测$_POST,这样就没有响应。

您可以将您的 js 代码更改为

$("#edit").on('click',function(){
    $.post($(this).attr('href'), YOUR_FORM_DATA_HERE, function(data){
        //update your page here with response
    });
});

见 $.load - jQuery Doc

于 2013-09-15T12:41:44.967 回答