我正在尝试确认删除某些内容,但似乎无法使其正常工作。
当点击“deleteReply”按钮时,我收到一条警报消息,但据我所知没有发生其他情况。我试图简单地回显发布的变量,但它似乎不起作用。
<input type="button" id="deleteSomething" value="Delete" />
<script type="text/javascript">
$(document).ready(function(){
$('#deleteSomething').click(function() {
if (!confirm("Are you sure?"))
return false;
$.post('deleteProcessing.php', "replyID=" + replyID, function(response) {
alert(response);
});
});
});
</script>
在我的删除处理页面上,我刚刚
$echo $_POST['replyID'];
最佳答案
你为什么有
if(isset($_POST['deleteReply'])){
?>
在 JavaScript 函数之前?您是否希望根据 $_POST['deleteReply']
var 触发 javascript 代码?
您必须记住,php 在服务器端进行处理并输出 HTML 页面。您的 javascript 代码只有在所有 php 运行完毕后才会在客户端运行。
一个更优雅的解决方案是在发送 AJAX 请求之前要求确认。
而且,您的 ajax 调用似乎没有达到您的预期。您手动设置 2 个参数以发送到 PHP,如果您在服务器端进行确认,则这些参数将没有用处。
参数应该类似于您要删除的回复的回复 ID
,并将请求发送到不同的 php 文件进行处理。
我建议您按照 Marian Zburlea 为您所做的那样重写代码。
编辑
好的,如果您想要一个简单的确认窗口,请尝试以下操作:
<input type="button" id="deleteSomething" value="Delete" />
<script type="text/javascript">
$(document).ready(function(){
$('#deleteSomething').click(function() {
if (!confirm("Are you sure?"))
return false;
$.post('delete.php', "replyID=" + replyID, function(response) {
alert(response);
});
});
});
</script>
编辑
如果您有多个删除按钮,最好的方法是将 replyID
存储为传递给函数的参数。在 php 中回显删除按钮,如下所示:
echo '<input type="button" value="Delete" onclick="deleteSomething(\'' . $replyID . '\')" />';
这样,$replyID
将存储在页面的 HTML 中,该 HTML 将被传递给您现在必须定义的 deleteSomething(replyID)
函数(最好是在 JQuery 库之后的文档 head
中):
<script type="text/javascript">
function deleteSomething(replyID)
{
if (!confirm("Are you sure?"))
return false;
$.post('deleteProcessing.php', "replyID=" + replyID, function(response) {
alert(response);
});
}
</script>
请注意,我从按钮中删除了 ID
,以免生成重复的 ID,并且不再需要它们,因为我在 onclick
中添加了函数调用> 事件,而不是像您之前那样将匿名函数绑定(bind)到其 ID。
关于javascript - 使用 javascript 确认 php 页面中的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10458097/