我正在尝试在数据库中显示项目的详细信息,并允许管理员删除它们。
这是我到目前为止所拥有的:
<?php
include 'dbc.php';
$query=mysql_query("select * from pro1");
while($result=mysql_fetch_array($query)){
echo '<span>'.$result['name'].'</span>'.'<a href="#" id='.$result['pro_id'].' onclick="delet(this.id);">delet</a>'.'<br/>';
}
?>
<html>
<head>
</head>
<body>
<span>test10</span><a href="#" id=10 onclick="delet(this.id);">delet</a>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function delete(proid){
//alert(proid);
$.post("back.php",{
proid:proid
},function(data){
alert(data);
});
});//ready func end
</script>
</body>
</html>
我从db获取proid
...现在我需要用ajax发送id。
循环输出将是这样的:
<span>test10</span>
<a href="#" id=10 onclick="delete(this.id);">delete</a>
答案 0 :(得分:0)
将delet
函数移出document.ready
包装器。它无法访问,因为它超出了范围:
// no $(document).ready()
function delet(proid){
$.post("back.php",{
proid:proid
},function(data){
alert(data);
}); // <-- this was missing
}
答案 1 :(得分:0)
该功能有缺少一个结束括号。
注意:不能将该函数包装为在加载时执行,否则不会可访问!
function delet(proid){
//alert(proid);
$.post("back.php",{
proid:proid
},function(data){
alert(data);
});
} /*This one here */
答案 2 :(得分:0)
也许你想要这样
JQuery: -
$(document).ready(function(){
function delete(proid)
{
$.ajax({
url: 'back.php',
type: "get",
data:'id='+ proid,
success: function (response) {
alert(data);
}
});
}
});
PHP: -
<?php
include 'dbc.php';
$id=$_GET['id'];
$sql=mysql_query("DELETE FROM pro1 WHERE pro_id='$id'");
if($sql)
echo "Deleted Succesfully<br>";
else
echo "Problem to delete :(<br>";
$query=mysql_query("select * from pro1");
while($result=mysql_fetch_array($query)){
echo '<span>'.$result['name'].'</span>'.'<a href="#" id='.$result['pro_id'].' onclick="delet(this.id);">delet</a>'.'<br/>';
}
?>