Avatar billede wolstrup Nybegynder
14. juli 2006 - 09:36 Der er 10 kommentarer og
1 løsning

php og javascript

Hej ville gerne udføre en confirm, og hvis brugeren trykker ja, skal et script afvikles, hvis brugeren trykker nej skal dette script ikke afvikles. Alle min forsøg har resulteret i at koden er blevet afviklet ligemeget om der blev trykket ja eller nej. Ved ikke om det er muligt at lave noget lignende:

if(confirm('Opret?')){
//Smide koden ind her på en eller anden måde
}else{
//Gør ingenting
}

På forhånd tak
Avatar billede Slettet bruger
14. juli 2006 - 10:35 #1
Det eneste du kan gøre, er at videresende brugere, hvis der bliver trykket "ok":


if(confirm('Opret?')){
location.href='iAgree.php';
}else{
//Gør ingenting
}

Ellers skal du have fat i AJAX, og jeg formoder ikke, at det er noget du vil begynde at begive dig i kast med.
Avatar billede donslund Nybegynder
14. juli 2006 - 13:44 #2
function tjek() {
if(confirm('Opret?')){
//Smide koden ind her på en eller anden måde
return true;
}else{
//Gør ingenting
return false;
}
}

onClick="return tjek()"

Jeg har oplevet det samme, men med ovenstående burde det virke.
Avatar billede Slettet bruger
14. juli 2006 - 14:57 #3
Nej det gør ikke.. Du kan ikke eksekvere php kode clientside.. Du kan eksekvere det asynkront og hive det ud af serveren med javascript, men det er en del mere avanceret.
Avatar billede Slettet bruger
14. juli 2006 - 15:00 #4
Avatar billede donslund Nybegynder
14. juli 2006 - 15:10 #5
Men mon det er fordi man skal blive på denne samme side og eksekvere iagree.php eller man alligevel skal skifte side.

Jeg forstiller mig, at man eksempelvis udfylde en formular med egne data. Trykker på"Opret" og får en boks op der skpørger om man er sikker på, at man vil oprette. Trykker man Ja, sendes man videre til en side der fortæller at man er oprettet. Så kan iagree.php jo sagtens eksekveres derind i mellem.
Avatar billede Slettet bruger
14. juli 2006 - 15:34 #6
.. Se det første jeg har skrevet.
Avatar billede donslund Nybegynder
14. juli 2006 - 23:38 #7
Ja, men wolstrup skriver, at den fortsætter uanset om der trykkes ja eller nej. Derfor mine "return false".
Avatar billede Slettet bruger
15. juli 2006 - 10:12 #8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function askUser(question, path) {
    if(confirm(question)) {
        // location.href = path;
        return true;
    } else {
        return false;
    }
}
</script>
</head>

<body>
<form method="get" action="http://www.google.com">
  <input type="submit" name="test" value="hit me" onclick="if(askUser('Er du sikker?')) return true; else return false;">
</form>
</body>
</html>
Avatar billede Slettet bruger
15. juli 2006 - 10:13 #9
Lidt udbygget med linket:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function askUser(question, path) {
    if(confirm(question)) {
        if(path.length > 3) {
            location.href = path;
            return false;
        } else {
            return true;
        }
    } else {
        return false;
    }
}
</script>
</head>

<body>
<form method="get" action="http://www.google.com">
  <input type="submit" name="test" value="hit me" onclick="if(askUser('Er du sikker?', 'http://www.exp.dk')) return true; else return false;">
</form>
</body>
</html>
Avatar billede wolstrup Nybegynder
17. juli 2006 - 09:22 #10
Takker for hjælpen ;-)
Avatar billede Slettet bruger
17. juli 2006 - 15:21 #11
Selv tak. ;o)

Og tak for points.
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