我对JavaScript没有多少经验。但是我想用JavaScript和MySQL做一件小事。我可以使用一些帮助。
我在PHP中有一个页面搜索某些内容,它会根据搜索查询给出结果。 对于每个结果,它会添加3个图像,其中一个图像作为您可以查看内容的URL。其他您可以编辑该内容的地方。
你可以删除的第三个。 为此,我想做点好事。
就像用户点击图片一样,会出现一个确认对话框。在该框中,它会询问您是否确定要删除数据。 如果是,它将删除数据。其中ID =
使用PHP echo
在图像中的JavaScript函数内的onclick操作中打印ID。
如果没有,我们将关闭对话框并继续。
答案 0 :(得分:10)
好的,我们假设以下内容(请原谅我重新澄清问题):
你有一些表格的行,有删除链接,你想确认用户是否真的要删除它?
我们假设以下HTML:
<tr>
<td>Some Item 1</td>
<td><a href="?mode=delete&id=1" class="delete-link">Delete</a></td>
</tr>
<tr>
<td>Some Item 2</td>
<td><a href="?mode=delete&id=2" class="delete-link">Delete</a></td>
</tr>
<tr>
<td>Some Item 3</td>
<td><a href="?mode=delete&id=3" class="delete-link">Delete</a></td>
</tr>
所以我假设同样的PHP脚本可以运行删除,获取模式参数:
<?php
if($_GET['mode'] == 'delete') {
//Check if there is something in $_GET['id'].
if($_GET['id']) {
//Prevent SQL injection, just to be safe.
$query = "DELETE FROM sometable WHERE id='" . mysql_real_escape_string($_GET['id']) . "'";
mysql_query($query);
}
}
我将在JavaScript方面为此提供两个解决方案 - 第一个使用内联,稍微丑陋的解决方案,第二个使用jQuery(http://jquery.com/),以及不引人注目的JavaScript。
好的,首先,我会绑定每个链接的onclick事件。
<tr>
<td>Some Item 3</td>
<td><a href="?mode=delete&id=3" class="delete-link" onclick="checkDeleteItem();">Delete</a></td>
</tr>
然后创建一个JavaScript函数:
//This will get called when the link is clicked.
function checkDeleteItem() {
//show the confirmation box
return confirm('Are you sure you want to delete this?');
}
正如我所说,我不喜欢这种解决方案,因为它非常突兀,也不是特别强大。
现在,jQuery解决方案:
//Do all this when the DOM is loaded
$(function() {
//get all delete links (Note the class I gave them in the HTML)
$("a.delete-link").click(function() {
//Basically, if confirm is true (OK button is pressed), then
//the click event is permitted to continue, and the link will
//be followed - however, if the cancel is pressed, the click event will be stopped here.
return confirm("Are you sure you want to delete this?");
});
});
我衷心地推荐这个解决方案,因为它更优雅,更好,通常是最好的做法。
答案 1 :(得分:1)
无法帮助您使用php部分,但您可以使用JavaScript的Confirm
:
var ok = confirm('Are you sure you want to delete this row');
//ok is true or false
您可以将功能绑定到删除按钮上的click事件。返回false
会导致他们忽略点击。
答案 2 :(得分:0)
您需要的是一个基本的HTML表单,它将提交并删除。首先获取HTML - 我建议每个图像都有自己的形式,ID值为隐藏字段,图像使用图像按钮:<input type="image" />
完成此工作后,您可以添加JavaScript警告对话框。您需要使用自己的函数替换表单的提交事件,以阻止表单提交(通过返回false),然后显示您的对话。如果用户单击“是”,则您需要使用JavaScript触发表单onsubmit()
事件,如果用户单击“否”,则只需隐藏对话框。
此外,阅读一篇关于不引人注目的JavaScript的文章 - DOM Scripting by Jeremy Keith是一本很棒的书,只是解释了如何做这些事情。
答案 3 :(得分:0)
如果您有一个删除所需行的按钮,请调用以下函数以确认用户是否要删除:
function confirmDelete()
{
if (confirm('Do you want to delete ?'))
{
return true;
}
else
{
return false;
}
}
这样称呼:
<input type="button" value="Delete Record" onclick="confirmDelete()" />