我有一个非常讨厌的问题,我不知道我做错了什么。它(再次)与将页面加载到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中? :)
答案 0 :(得分: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
});
});