所以我有一个这样的表格:
<form>
<input type="submit" value="X" id="deleteButton" onclick="ConfirmChoice(<?php echo $id; ?>)" />
</form>
和这样的函数:
<script type='text/javascript'>
function ConfirmChoice(theid)
{
var dataString = 'id=' + theid;
answer = confirm("Are you sure you want to delete this song?");
if (answer !=0) {
$.ajax
({
type: "POST",
url: "deleteSong.php",
data: dataString,
});
}
}
</script>
所以基本上我希望它删除他们从我的数据库中点击的任何deleteSong将要处理的内容。 它给出了歌曲的id,据我所知应该确认删除然后将其删除吧? 任何帮助,将不胜感激。 感谢
答案 0 :(得分:1)
从
更改它 input type="submit"
到
input type="button"
答案 1 :(得分:0)
另外因为你没有设置它,对服务器的请求是在json中,在你的情况下,这个请求很糟糕。
尝试这样的事情:
var dataString = "{'id'= '"+ theid + "'}";
这应该使它工作:)
答案 2 :(得分:0)
如果不知道问题究竟在哪里,很难回答这个问题。 deleteSong.php是否正常工作?
与其他人一样,您应该将输入类型更改为button
或从函数返回false,否则浏览器将尝试以正常方式提交表单,但是您没有指定{{1在action
标记内,它无法正常工作。
就个人而言,我会做的事情完全不同:
<强> HTML:强>
<form>
<强>使用Javascript:强>
<input type="button" value="<?php echo $id ?>" id="deleteButton">
只是为了解释我在这里所做的事情(对不起,如果我告诉你你已经知道的事情,我希望尽可能明确地告诉那些将来可能正在读这篇文章的人:)
$(document).ready(function () {
$('#deleteButton').click(function () {
var answer = confirm("Are you sure you want to delete this song?");
if (!answer) {
return false;
}
var data = 'id=' + $(this).val();
$.ajax({
type: 'POST',
url: 'deleteSong.php',
data: dataString,
success: function (response) {
// response will contain the output from your php script.
// Do something with it here. If you just want to see what it
// says, do something like:
console.log(response);
// then look in the console (view > javascript console in chrome)
}
});
});
});
中,因此只有在页面加载完成后才会运行,否则您可能最终会尝试将函数绑定到尚不存在的按钮上的单击操作。 $(document).ready(function() { ... } );
是多余的,您只需编写if (answer !=0)
,因为任何正整数将评估为if (!answer)
true
回调,可以帮助您进行调试。整个页面上只有一个'删除'按钮吗?或者每首歌旁边都会有一个删除按钮?如果是后者,则必须为每个按钮指定一个不同的ID,而不仅仅是success
,因为所有ID都必须是唯一的。
如果上述方法不起作用,您确定jQuery已正确加载吗?要检查,在控制台中键入deleteButton
,如果没有收到错误,那么你没事。另一种可能性是你的jQuery
脚本出了问题但我没有看到它就无法帮助你。