Avatar billede k-asp-er Nybegynder
18. juli 2001 - 03:00 Der er 6 kommentarer og
1 løsning

Hvad er der galt med dette script.

<script language=\"javascript\">
function sletmig()
{
confirm(\"Vil du virkelig slette mig?\")
}
if (sletmig==true)
{
response.write=(\"aha\");
}
if (sletmig==false) { history.back();
}
</script>

Jeg får confirmboxen, men så slettes varen uanset, hvad jeg klikker på. Der kommer ingen syntaxfejl, men heller ikke andet, hvis jeg erstatter -
if (sletmig==false) med else hopper siden direkte en gang tilbage ved onload- uden at vise confirmbox? funktionen kaldes fra en sletteknap - og det virker.
Har jeg lavet et nyt concept for alertbokse?
Mvh.
Avatar billede euroman28 Nybegynder
18. juli 2001 - 03:31 #1
function sletmig()
{
if (confirm(\"Vil du virkelig slette mig?\"))
  {document.write(\"aha\")}
else
  {
  history.back()
  }

}
Avatar billede euroman28 Nybegynder
18. juli 2001 - 03:32 #2
response.write=(\"aha\");

den er vist ikke helt efter bogen!!
Avatar billede k-asp-er Nybegynder
18. juli 2001 - 03:57 #3
Nøh, men scriptet skøjter stadig videre og sletter \"mig\".
Jeg har kodet asp hele dagen så derfor response.write Hmm.
Avatar billede k-asp-er Nybegynder
18. juli 2001 - 05:24 #4
function sletmig()
{
if (confirm(\"Vil du slette denne artikel?\"))
  {history.forward()}
else
  {
document.write(\"<meta http-equiv=\'Refresh\' content=\'0;URL=tilbehoer_adm.asp?com=slet_ikke\'>\");
location.reload()
  }

}
</script>
Avatar billede jakoba Nybegynder
18. juli 2001 - 09:07 #5
<script language=\"javascript\">

function sletmig() {  // returnerer \'true\' eller \'false\'
  var resultat;        // variabel til at huske hvad confirm(...) returnerer
  resultat = confirm(\"Vil du virkelig slette mig?\"); // læg  brugerens svar i resultat
  return resultat;    // for at kunne sammenlignes med noget skal funktionen returnere en værdi
};

if ( sletmig() == true ) { // når du bruger en funktion skal der altid () efter
                              // også selvom der ikke er nogen parametre
  document.write=(\"aha\");  // i javascript hedder det document.write.
};

if ( sletmig() == false ) {  // som ovenfor. men bemærk funktionen bliver kaldt igen.
  history.back();
};

</script>

men vi kan skriv det kortere:

<script language=\"javascript\">

function sletmig() {  // returnerer \'true\' eller \'false\'
  return confirm(\"Vil du virkelig slette mig?\"); // returner brugerens svar
};

if ( sletmig() ) {        //  \' == true\'  kan skippes .
  document.write=(\"aha\");
} else {                    // hvis sletmig() ikke var true.
  history.back();
};

</script>

og nu funktionen sletmig kun bliver kaldet en gang kan vi ligsågodt lade være med at have det som en funktion:

<script language=\"javascript\">

if ( confirm(\"Vil du virkelig slette mig?\"); ) {
  document.write=(\"aha\");
} else {
  history.back();
};

</script>

der er mange mulige regler for indrykning. den jeg bruger ovenfor er:

allesteder der er en { (start-tuporg) kan man gå til begyndelsen af den linie, slut-tuborgen } vil være nedenfor og præcis ligesålangt indrukket. Alt indimellen er mere indrykket.

mvh JakobA
Avatar billede jakoba Nybegynder
18. juli 2001 - 09:10 #6
Ups. i den sidste if fik jeg sat et ; tegn ind der ikke skal være der.
linien:
if ( confirm(\"Vil du virkelig slette mig?\"); ) {
skal være:
if ( confirm(\"Vil du virkelig slette mig?\") ) {
Avatar billede k-asp-er Nybegynder
18. juli 2001 - 11:21 #7
jacobA>>
Så ender vi op med et almindelig window.confirm, som afvikles ved body onload()
Desuden virker history.back() location=\"etellerandet\" ikke, da scriptet afvikles i en form. Det er i alle tilfælde, hvad jeg erfarer. Jeg indsatte blot

<%
if com=\"slet_ikke\" then
end if
%>

umiddelbart før <html>


Koden er lavet som beskrevet ovenfor - og den funker perfekt. At det tager lidt power er underordnet, da man forhåbentlig ikke anvender slettefunktionen ret ofte.
Men tak for din indsats.
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