Wie Nahom sagte, außer ich würde den javascript:message()
Aufruf direkt in den href Teil setzen (keine Notwendigkeit für onclik dann).
Hinweis: Um den JavaScript-Aufruf in den onClick verlassen hat einen Vorteil: im href Attribut Sie eine URL gehen setzen können, wenn der Benutzer nicht über JavaScript aktiviert. Auf diese Weise wird Ihr Code ausgeführt, wenn sie über JS verfügen. Wenn sie es nicht tun, gehen sie irgendwo hin, wo sie angewiesen werden, es zu aktivieren (vielleicht).
Nun muss Ihre message
Routine nicht nur die Frage stellen, sondern auch die Antwort verwenden: Wenn positiv, muss sie submit() auf dem Formular aufrufen, um das Formular zu posten. Sie können this
in dem Aufruf übergeben, um das Abrufen des Formulars zu erleichtern.
Persönlich würde ich für eine Schaltfläche (Eingabe-Tag, wie Sie zeigen) anstelle eines einfachen Links, um den Prozess zu tun: Es würde ein vertrauter Paradigma für die Benutzer verwenden.
[EDIT] Da ich lieber Antworten zu überprüfen, ich gebe, schrieb ich einen einfachen Test:
<script type="text/javascript" language="JavaScript">
function AskAndSubmit(t)
{
var answer = confirm("Are you sure you want to do this?");
if (answer)
{
t.form.submit();
}
}
</script>
<form action="Tests/Test.html" method="GET" name="subscriberAddForm">
<input type="hidden" name="locationId" value="2721"/>
<input type="text" name="text" value="3.1415926535897732384"/>
<input type="button" name="Confirm" value="Submit this form" onclick="AskAndSubmit(this)"/>
</form>
Ja, senden die neu zu laden einfach die Seite hier ... Getestet nur in FF3.
[EDIT] und anschließend Vorschlag in den Kommentaren ... :-)
"t.parentNode" funktioniert für dieses Beispiel, aber es ist brüchig, weil es eine Annahme enthält. Besser ist "t.form". – Tomalak
Tomalak ist richtig, t.form wäre besser. – scunliffe