Toon posts:

[JS] Bevestigings script werkt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een intranet site (java/jsp's,etc), daarop is de mogelijkheid tot het deleten van users.
Echter hangt er geen bevestiging onder. Deze ben ik nu aan het scripten, maar het gaat nog niet helemaal zoals ik wil.

Dit is de code die ik tot nu toe heb gebruikt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<SCRIPT language="JavaScript">
<!--
function confirm()
{
 var confirmation= confirm("Are you sure you wish to delete this user?");
 if (confirmation== true)
 {
   window.location="";
 }
 else
 {
  window.location="http://intranet";
  }
}
//-->
</SCRIPT>

<form method="post" action="<%= request.getContextPath() %>/dispatcher?action=user">
<table>
<!-- 
CONTENT 
-->

<input type="submit" name="operation2" value="OK" onClick="confirm()">
<input type="submit" name="operation" value="Cancel" />

</table>


Wanneer ik nu op OK klik krijg ik netjes de popup te zien met of ik het zeker weet.
Echter als ik dan op No klik word de actie toch uitgevoerd en de user gedelete.
Kortom, het maakt niet uit of ik of op OK klik of op No. De user word hoe dan ook gedelete.
M.a.w. het form word gesubmit. En dat is dus net niet de bedoeling.

Ook heb ik geprobeerd om de action= in het form weg te halen en bij window.location=""; neer te zetten. Echter resulteerd dit in de melding: Stackoverflow zodra je op Ok klikt.

Wat doe ik fout?

  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
je moet doen:

if confirm(blabla) {
er is op OK geklikt
}

Verwijderd

zo uit m'n hoofd:

in je onclick:
HTML:
1
 <input type="submit" onclick="return confirm('Wilt u de gebruiker echt verwijderen?');" />


waarbij je natuurlijk ipv direct een confirm een eigen functie kan aanroepen die true/false teruggeeft.

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 22:23

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Je stuurt het form door naar de betreffende pagina. Een window.location.replace(url) verandert daar niets aan. Oplossing 1 is, zoals Type-O zegt het eventueel cancellen van de submit door een return false (wat dus een confirm->cancel is), een andere manier is om niet met een form te werken:

JavaScript:
1
2
3
4
5
6
7
function confirmDelete( userId )
{
    if( confirm('woei') )
    {
        window.location.replace('goedeurl&user='+userId);
    }
}


En dan een button met onclick="confirmDelete(10);" :)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

* crisp mompelt onsubmit handler

Intentionally left blank