Zur Navigation

Fallunterscheidung mit confirm() [2]

11 Jörg

Hallo lava,

ich habe meinen Code in Beitrag 11 getestet - und er hat so weit funktioniert

Kannst du hier mal den fertigen Quelltext vom Browser wiedergeben:
<form method="get" name="bla" action="change_umfrage.jsp" <%if (umfrage.hasteilnehmer()) { %>  onsubmit="confirmwork()" <%} %>>
<input type="hidden" value="bearbeiten" name="case">
<input type="hidden" value="<%=umfrage.getNr()%>" name="changenr">
<input type="hidden" name="reset" <%if (umfrage.hasteilnehmer()){ %> value="yes" <%} %>>
<input type="submit" value="Bearbeiten">

</form>
... dann kann ich deine Version bei mir auch nochmal testen

12.07.2007 17:31

12 lava

Hm, der Unterschied zwischen deinem Code und meinem vorigen Code war wohl <button type="submit"... > bzw. <input type="submit"...> . Ob es wohl daran lag? Kannst du das bitte mal prüfen, wenn du deinen Code nun noch da haben solltest? Ich hab jetzt mehrere Änderungen gemacht und letztendlich auch mein Ziel erreicht, wenn auch umständlich:


<form method="get" id="bla" action="change_umfrage.jsp">
<input type="hidden" name="reset" value="false" id="blabu">
<input type="hidden" value="bearbeiten" name="case">
<input type="hidden" value="<%=umfrage.getNr()%>" name="changenr">
<%if (umfrage.hasteilnehmer()) {%>
<input type="button" value="Bearbeiten" onclick="confirmwork()">
<%} else {%> <input type="submit" value="Bearbeiten"> <%} %>

mit


function confirmwork()
{
  
  	confirmation = confirm("Sie wollen eine bereits laufende Umfrage abändern. \n Möchten Sie zunächst die Teilnehmerzahl zurücksetzen? ");
 	document.getElementById("blabu").value=confirmation ; 
 	document.getElementById("bla").submit();
   
}

12.07.2007 18:20 | geändert: 12.07.2007 18:30

13 lava

Ja, habe deinen Code jetzt auch getestet. Tatsächlich geht es mit der <button....> - Schreibweise, die du verwendet hattest, auch gut. Nur mit der <input ...> Variante von mir war es nicht möglich.... allerdings versteh ich noch nicht, warum.... Danke jedenfalls!!!

12.07.2007 18:45

14 Jörg

Nein, verstehen tue ich das auch nicht - button und input sollten eigentlich gleichwertig sein - und bei einem Test ergibt sich bei mir auch kein Unterschied. Aber gut dass es mit deinem Code jetzt auch funktioniert hat :)

12.07.2007 19:11

15 lava

Okay, soweit funktioniert alles. Aber es gibt noch ein Problem: Das Confirm-Fenster soll ja nur aufgehen, wenn die Umfrage Teilnehmer hat. Soweit, so gut. Allerdings kann es sein, daß ich die Admin-Seite mit o.g. Formular lade, dann ein anderer Mensch (oder ich selbst) in einem anderen Fenster die Umfrage ausfüllt (=> somit hat sie einen Teilnehmer) und ich DANN ERST auf der Adminseite weiteragieren möchte und diesen Teilnehmer nicht bemerke, sofern ich vorher die Seite nicht refreshe.

Ausfüllen der Umfrage aktualisiert die Datenbank.
Die Admin-Seite guckt, ob in der Datenbank etwas drinsteht.
Wenn die Admin-Seite sich aber aufbaut, BEVOR in der Datenbank etwas drinsteht, dann kriegt sie die Datenbankänderung ja gar nicht mit -> kann ich irgendwie erzwingen, daß bei Abschicken des "Bearbeiten"-Buttons ERST NOCH EIN REFRESH durchgeführt wird ?????

12.07.2007 19:13

16 Jörg

Wenn du einen Refresh durchführst = die Seite neu lädtst, sind die bisherigen Eingaben des Formulars futsch.

Du kannst ja bei der folgenden Anfrage an den Server überprüfen, ob sich die Daten geändert haben und gegebenfalls das Formular mit den geänderten Daten wieder zurücksenden

12.07.2007 20:56

Beitrag schreiben (als Gast)





[BBCode-Hilfe]