Avatar billede eksperten1 Nybegynder
30. marts 2001 - 11:00 Der er 15 kommentarer og
1 løsning

window.confirm

I en formular har jeg naturligvis en Slet knap, så brugerne kna slette en besked i en database. (ASP)
Men når de trykker på Slet knappen vil jeg gerne have en window.confirm der spørger om de virkelig gerne vil slette denne besked.
Jeg har brugt onClick men det fungerer ikke efter hensigten (at all!)
<input type=\"submit\" name=\"action\" value=\"Slet\" onClick=\"window.confirm(\'Ønsker du at slette denne besked ?);\" class=\"knap\">
Avatar billede netsrac Praktikant
30. marts 2001 - 11:10 #1
<SCRIPT>
function check()
{
if (window.confirm(\'Vil du slette?\')
return true
else
return false;
}

<FORM ACTION=\"dinfil.asp\" METHOD=\"post\" ONSUBMIT=\"return check();\">

<INPUT TYPE=\"submit\" VALUE=\"slet\" name=\"action\" class=\"knap\">
Avatar billede netsrac Praktikant
30. marts 2001 - 11:11 #2
<SCRIPT>
function check()
{
if (window.confirm(\'Vil du slette?\')
return true;
else
return false;
}

<FORM ACTION=\"dinfil.asp\" METHOD=\"post\" ONSUBMIT=\"return check();\">

<INPUT TYPE=\"submit\" VALUE=\"slet\" name=\"action\" class=\"knap\"> 
Avatar billede netsrac Praktikant
30. marts 2001 - 11:11 #3
Brug dette så vil formen ikke blive submittet før der bliver trykket ok.
Avatar billede eksperten1 Nybegynder
30. marts 2001 - 11:20 #4
Desværre har jeg lavet formen så der kan både opdateres og slettes i samme form.

Når du får vist en besked, kan brugeren rette i den og trykke på knappen \"Opdater\", alternativt er der knappen \"Slet\" som så skal vise en dialogboks \"Vil du slette\", så jeg skal vise denne besked, men KUN hvis det er Slet de har trykket på.
/Mark
Avatar billede netsrac Praktikant
30. marts 2001 - 11:25 #5
<SCRIPT>
function check()
{
if (document.dinform.trykpaaslet.value == \'1\')
{
if (window.confirm(\'Vil du slette?\')
return true;
else
return false;
}
}
function slet()
{
document.dinform.trykpaaslet.value = \'1\';
}

<FORM ACTION=\"dinfil.asp\" METHOD=\"post\" ONSUBMIT=\"return check();\" name=\"dinform\">

<INPUT TYPE=\"hidden\" NAME=\"trykpaaslet\" VALUE=\"0\">
<INPUT TYPE=\"submit\" VALUE=\"slet\" name=\"action\" class=\"knap\" ONCLICK=\"slet();\"> 
Avatar billede netsrac Praktikant
30. marts 2001 - 11:26 #6
Så kan du jo evt. gøre sådan her istedet.
Avatar billede eksperten1 Nybegynder
30. marts 2001 - 11:29 #7
Nu er jeg jo ikke den store JS haj, men vil jeg ikke blive spurgt HVER gang jeg submitter denne form ?
Det skal være sådan at NÅR jeg trykker på \"Slet\" så spørger den, hvis jeg svarer \"OK\" så bliver formen submitted ellers ikke.
Avatar billede netsrac Praktikant
30. marts 2001 - 11:32 #8
Du vil kun blive spurgt når du trykker på slet knappen, men brug lige dette istedet:

<SCRIPT>
function check()
{
if (document.dinform.trykpaaslet.value == \'1\')
{
if (window.confirm(\'Vil du slette?\')
return true;
else
return false;
}
else
return true;
}
function slet()
{
document.dinform.trykpaaslet.value = \'1\';
}
</script>
<FORM ACTION=\"dinfil.asp\" METHOD=\"post\" ONSUBMIT=\"return check();\" name=\"dinform\">

<INPUT TYPE=\"hidden\" NAME=\"trykpaaslet\" VALUE=\"0\">
<INPUT TYPE=\"submit\" VALUE=\"slet\" name=\"action\" class=\"knap\" ONCLICK=\"slet();\"> 

Avatar billede jakoba Nybegynder
30. marts 2001 - 11:46 #9
Mon ikke vi skal have opdelt submitknappen i to forskellige knapper?
en til opdater og en til slet:

<SCRIPT>
function sletCheck( frm ) {
  if ( confirm(\"Er du helt sikker på du vil slette formdata\") ) {
    frm.reset();  // ikke helt sikker på reset er en standard funktion
    // hvis ikke må du slette det hele selv.
  } else {
    // ingenting.
  }
}
</script>
<FORM ACTION=\"dinfil.asp\" METHOD=\"post\" name=\"dinform\">

<INPUT TYPE=\"button\" NAME=\"slet\" VALUE=\"slet alt\" onclick=\"sletCheck(this.form)\">
<INPUT TYPE=\"submit\" VALUE=\"opdater\" name=\"action\" class=\"knap\">
Avatar billede eksperten1 Nybegynder
30. marts 2001 - 12:12 #10
jakoba> Du misforstod vist spørgsmålet, jeg vil ikke sette formen, men submitte den med knappen \"Slet\", så vil en ASP fil sørge for at slette i databasen. Så jeg skal blot have en .confirm når der trykkes på knappen Slet. Hvis return true så skal formen submittes ellers ingen submit.
/Mark
Avatar billede ldanielsen Nybegynder
30. marts 2001 - 12:54 #11
1. Har du to knapper, en gem og en slet?
2. Vil det være smart at have to forskellige actions.

Hvis ja til begge:

Jeg vil foretrække at bruge en button til at slette, ellers kunne man komme til at slette ved tryk på retur:

<SCRIPT>
function valider(f){
  if (f.action == \"slet.asp\"){
    return confirm(\"Er du helt sikker på du vil slette\")
  }else{
    return true
    }
  }
</script>
<FORM ACTION=\"gem.asp\" METHOD=\"post\" name=\"dinform\" onsubmit=\"return valider(this.form)\">

<INPUT TYPE=\"button\" NAME=\"slet\" VALUE=\"slet alt\" onclick=\"this.form.action = \'slet.asp\';this.form.submit()\">
<INPUT TYPE=\"submit\" VALUE=\"opdater\" name=\"action\" onClick=\"this.form.action = \'gem.asp\'\" class=\"knap\">
Avatar billede johnnyk Nybegynder
30. marts 2001 - 14:09 #12
Du kan da godt gøre det som du allerede har gjort - du skal bare huske \"return\":

onClick=\"java script: return confirm(\'Ønsker du at slette denne besked ?);\"

/Johnny
Avatar billede eksperten1 Nybegynder
30. marts 2001 - 14:18 #13
>johnnyk
Det spiller jo bare.
Tak for alle forslagene, men simpler is better!

mvh
Mark
Avatar billede ldanielsen Nybegynder
30. marts 2001 - 14:42 #14
Har du så ingen submitknap?
Avatar billede ldanielsen Nybegynder
30. marts 2001 - 14:43 #15
Prøv at klikke på et tekstfelt, og trykke retur!!
Avatar billede jakoba Nybegynder
30. marts 2001 - 20:31 #16
Mon ikke der kommer et spørgsmål til senere :-))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester