Saya membuat tautan hapus sederhana dengan event onClick yang memunculkan dialog konfirmasi. Saya ingin mengkonfirmasi bahwa pengguna ingin menghapus entri. Namun, tampaknya ketika Cancel diklik dalam dialog, tindakan default (yaitu tautan href) masih berlangsung, sehingga entri masih akan dihapus. Tidak yakin apa yang saya lakukan salah di sini.... Setiap masukan akan sangat dihargai.
EDIT: Sebenarnya, dengan cara kodenya sekarang, halaman bahkan tidak melakukan panggilan fungsi... jadi, tidak ada dialog yang muncul sama sekali. Saya memang memiliki kode onClick sebagai:
onClick="confirm('Delete entry?')"
yang memang memunculkan dialog, tetapi masih menuju ke tautan pada Cancel.
<%@ 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>
Menggunakan tautan sederhana untuk tindakan seperti menghapus catatan terlihat berbahaya bagi saya: bagaimana jika crawler mencoba mengindeks halaman Anda? Ia akan mengabaikan javascript apapun dan mengikuti setiap tautan, mungkin bukan hal yang baik.
Anda sebaiknya menggunakan formulir dengan method="POST".
Dan kemudian Anda akan memiliki event "OnSubmit" untuk melakukan apa yang Anda inginkan...
Pertama-tama, delete adalah reserved word dalam javascript, saya terkejut ini bahkan dieksekusi untuk Anda (Ketika saya mengujinya di Firefox, saya mendapatkan kesalahan sintaksis)
Kedua, HTML Anda terlihat aneh - apakah ada alasan Anda menutup tag jangkar pembuka dengan />
bukan hanya >
?