我的问题更倾向于方法,而不是编程或错误。
我有一个运行并收集一组数据的查询。 然后,我想使用该查询的返回值在列出所有值的页面上构建一个表。 除此之外,我需要对每个值进行一些操作,例如:
my_val (edit) (delete)
my_cal (edit) (delete)
其中编辑和删除是按钮。 所以我使用 onClick javascript 的编辑按钮,在那里我被重定向到另一个页面,但删除按钮我需要它来做三件事:
- 提示用户,可以删除吗? msg(为此使用JavaScript(返回确认...)。
- 执行查询以删除
- 刷新页面(自我)
有没有最好的方法模型? 调用两个内联 JavaScript 命令更容易吗? 使用JavaScript函数?也许是ColdFusion功能?
任何指示都会有所帮助!谢谢。
我认为您接近您正在寻找的内容。
我删除的方法是在 JS 中确认,然后将请求发送到执行删除过程的另一个页面,然后将您的用户发送回您的原始页面(为您提供刷新)。
这将是简单的路线,您也可以使用 AJAX 调用您的进程页面并在后台进行更改。 然后,您必须执行JS刷新或手动处理页面上的更改。
我认为最简单的删除方法是这样的。我假设你使用jQuery或其他库或获取JavaScript的东西。
YourPage.cfm
<cfif structKeyExists(URL, "Action") and URL.Action eq "delete">
<cfququery>
// delete the item using the id provided
</cfquery>
</cfif>
<cfquery name="GetFresh">
// get fresh info
</cfquery>
<cfloop query="GetFresh">
Something <span class='DeleteLink' data-someid='#SomeID#'>delete</span> <br>
</cfloop>
<script type='text/javascript'>
$DeleteLinks = $("span.DeleteLink");
$DeleteLink.click(function() {
var Confirm = confirm('Are you sure you want to delete?');
if (Confirm == true) {
var SomeID = $(this).data("someid");
var URL = "YourPage.cfm?Action=delete&SomeID=" + SomeID;
window.location = URL;
}
});
</script>
最简单的最快方法是只有一个 onclick 处理程序,该处理程序根据用户的选择返回 true/false
<a href="delete.cfm?id=1" onclick="return confirm('Are you sure you want to delete his?')">Delete</a>
当然还有更优雅的方法可以做到这一点,但以上是基本的并且有效。
使用的:
!function($, window, undefined) {
var document = window.document;
$(document).delegate('input:submit[name="Delete"][value="Delete"]','click',function() {
return window.confirm(this.title || 'Delete this record?');
});
}(jQuery, window);