Einfaches JavaScript-Problem: onClick-Bestätigung verhindert nicht die Standardaktion

Ich erstelle einen einfachen Link zum Entfernen mit einem onClick-Ereignis, das einen Bestätigungsdialog öffnet. Ich möchte bestätigen, dass der Benutzer einen Eintrag löschen möchte. Wenn Sie jedoch im Dialogfeld auf Abbrechen klicken, wird die Standardaktion (d. H. Der href-Link) weiterhin ausgeführt, sodass der Eintrag weiterhin gelöscht wird. Nicht sicher, was ich hier falsch mache ... Jede Eingabe wäre sehr dankbar.

EDIT: So wie der Code jetzt ist, führt die Seite nicht einmal den Funktionsaufruf aus. Es wird also überhaupt kein Dialogfeld angezeigt. Ich hatte den onClick-Code als:

onClick="confirm('Delete entry?')"

Das hat einen Dialog aufgerufen, aber es wurde immer noch auf den Link zum Abbrechen verwiesen.

<%@ 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>

Antworten auf die Frage(20)

Ihre Antwort auf die Frage