我正在使用带有确认对话框的onClick事件创建一个简单的删除链接.我想确认用户想要删除条目.但是,似乎在对话框中单击"取消"时,默认操作(即href链接)仍在进行,因此该条目仍会被删除.不确定我在这里做错了什么......任何输入都会非常感激.
编辑:实际上,代码现在的方式,页面甚至没有进行函数调用...所以,根本没有对话框出现.我确实有onClick代码:
onClick="confirm('Delete entry?')"
Run Code Online (Sandbox Code Playgroud)
这确实带来了一个对话框,但仍然是取消取消的链接.
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<script type="text/javascript">
function delete() {
return confirm('Delete entry?')
}
</script>
...
<tr>
<c:if test="${userIDRO}">
<td>
<a href="showSkill.htm?row=<c:out value="${skill.employeeSkillId}"/>" />
<img src="images/edit.GIF" ALT="Edit this skill." border="1"/></a>
</td>
<td>
<a href="showSkill.htm?row=<c:out value="${skill.employeeSkillId}&remove=1"/>" onClick="return delete()"/>
<img src="images/remove.GIF" ALT="Remove this skill." border="1"/></a>
</td>
</c:if>
</tr>
Run Code Online (Sandbox Code Playgroud)
Luc*_*nti 120
你的代码中有一个拼写错误(标签a太早关闭).你可以使用:
<a href="whatever" onclick="return confirm('are you sure?')"><img ...></a>
Run Code Online (Sandbox Code Playgroud)
请注意返回(确认):脚本在内部平均值中返回的值决定是否运行默认浏览器操作; 如果你需要运行一大段代码,你当然可以调用另一个函数:
<script type="text/javascript">
function confirm_delete() {
return confirm('are you sure?');
}
</script>
...
<a href="whatever" onclick="return confirm_delete()"><img ...></a>
Run Code Online (Sandbox Code Playgroud)
(请注意,删除是一个关键字)
为了完整性:现代浏览器还支持DOM事件,允许您为每个对象上的同一事件注册多个处理程序,访问事件的详细信息,停止传播等等; 看DOM活动.
小智 24
好吧,我曾经遇到过同样的问题,在确认之前添加" return " 这个词就解决了问题:
onclick="return confirm('Delete entry?')"
Run Code Online (Sandbox Code Playgroud)
我希望这可能对你有益.
祝好运!
Ste*_*rov 10
我用它,就像一个魅力.无需任何功能,只需与您的链接内联
onclick="javascript:return confirm('Are you sure you want to delete this comment?')"
Run Code Online (Sandbox Code Playgroud)
我有类似的问题(点击按钮,但取消后点击它仍然删除我的对象),所以这样做,希望它有助于未来的人:
$('.deleteObject').click(function () {
var url = this.href;
var confirmText = "Are you sure you want to delete this object?";
if(confirm(confirmText)) {
$.ajax({
type:"POST",
url:url,
success:function () {
// Here goes something...
},
});
}
return false;
});
Run Code Online (Sandbox Code Playgroud)
使用简单的链接进行操作(例如删除记录)对我来说很危险:如果爬虫试图索引您的页面会怎么样?它将忽略任何JavaScript并关注每个链接,可能不是一件好事.
你最好使用method ="POST"的表单.
然后你将有一个"OnSubmit"活动来完成你想要的......
| 归档时间: |
|
| 查看次数: |
200483 次 |
| 最近记录: |