18. juli 2001 - 03:00Der 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.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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() }
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.
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?\") ) {
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.
Synes godt om
Ny brugerNybegynder
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.