Bir onay iletişim kutusu açan bir onClick olayına sahip basit bir kaldırma bağlantısı yapıyorum. Kullanıcının bir girişi silmek istediğini onaylamak istiyorum. Ancak, iletişim kutusunda İptal tıklandığında, varsayılan eylem (yani href bağlantısı) hala gerçekleşiyor gibi görünüyor, bu nedenle giriş hala siliniyor. Burada neyi yanlış yaptığımdan emin değilim... Herhangi bir girdi çok takdir edilecektir.
DÜZENLEME: Aslında, kodun şu anki haliyle, sayfa fonksiyon çağrısı bile yapmıyor... yani, hiçbir iletişim kutusu çıkmıyor. OnClick kodunu şu şekilde yaptım:
onClick="confirm('Delete entry?')"
Bu da bir iletişim kutusu açtı, ancak yine de İptal'deki bağlantıya gidiyordu.
<%@ 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>
Bir kaydı kaldırmak gibi bir eylem için basit bir bağlantı kullanmak bana tehlikeli görünüyor: ya bir tarayıcı sayfalarınızı dizine eklemeye çalışırsa? Herhangi bir javascript'i görmezden gelecek ve her bağlantıyı takip edecektir, muhtemelen iyi bir şey değildir.
Method="POST" ile bir form kullansanız iyi olur.
Ve sonra tam olarak istediğiniz şeyi yapmak için bir "OnSubmit" olayına sahip olacaksınız...
Öncelikle, delete javascript'te ayrılmış bir kelime, bunun sizin için çalışmasına bile şaşırdım (Firefox'ta test ettiğimde sözdizimi hatası alıyorum)
İkinci olarak, HTML'niz garip görünüyor - açılış bağlantı etiketlerini sadece >
yerine />
ile kapatmanızın bir nedeni var mı?