[JS]Confirmation Box reload pagina ook bij cancel

Pagina: 1
Acties:

  • degroot
  • Registratie: December 2003
  • Niet online
Ik ben in PHP met een project bezig.
Ik houd de PHP en HTML code altijd gescheiden.
Ik laat php dus eerst altijd de acties uitvoeren , en daarna gebruik ik include.
De include bevat de html pagina.

in die pagina staat dit stukje javascript
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<head>
<script language="javascript">
function confirmDelete() {
    var answer = confirm("Are you sure you want to delete this ?")
    if (answer){
        window.location = "cm_editarea.php";
    }
    else{
        alert("Operation Cancelled")
    }
}
</script>


Hiermee moet de gebruiker dus nog bevestigen of hij de actie daadwerkelijk wil uitvoeren.
De functie word vanuit deze regel aangeroepen
PHP:
1
echo '<tr bgcolor="#FFFFFF"><td>'.$arDescription[$i].'</td><td><a href="cm_editmeta.php?submitarea=submitarea&selectarea='.$arId[$i].'">EDIT</a></td><td><a href="cm_editarea.php?status='.$arStatus[$i].'&areaid='.$arId[$i].'">'.$status.'</td><td><a href="cm_editarea.php?&areaid='.$arId[$i].'&action=delete" onClick="confirmDelete()""><img src="img/b_drop.png" border="0"></a></td></tr>';


Het probleem is dus , dat als ik op cancel klik , de pagina weer herladen word.
Dat moet dus niet(IVM GET variablen die toch gewoon gepost worden bij het reloaden van de pagina)
Hij laat wel netjes de ALERT zien , dus hij komt wel in het ELSE gedeelte van het javascript.
Alleen na het else gedeelte , word de pagina toch weer herladen..

Komt dat doordat de pagina met HTML output in een PHP file geinclude word?
Dat vermoeden heb ik namelijk.

Hoe kan ik dit dan wel netjes oplossen? want ik heb eigenlijk niet iets relevants kunnen vinden(Veelal standard JS voorbeelden)

www.degroot-it.nl


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

JavaScript:
1
2
3
4
5
6
7
8
<html>
<head>
<script language="javascript">
function confirmDelete()
{
    return confirm("Are you sure you want to delete this ?") ? true : false;
}
</script>


Dit is ook niet juist:
PHP:
1
2
3
<?php
echo '<tr bgcolor="#FFFFFF"><td>'.$arDescription[$i].'</td><td><a href="cm_editmeta.php?submitarea=submitarea&selectarea='.$arId[$i].'">EDIT</a></td><td><a href="cm_editarea.php?status='.$arStatus[$i].'&areaid='.$arId[$i].'">'.$status.'</td><td><a href="cm_editarea.php?&areaid='.$arId[$i].'&action=delete" onClick="confirmDelete()"><img src="img/b_drop.png" border="0"></a></td></tr>';
?>

Nu wel

[ Voor 83% gewijzigd door Snake op 02-04-2007 16:39 ]

Going for adventure, lots of sun and a convertible! | GMT-8


  • degroot
  • Registratie: December 2003
  • Niet online
Snakiej schreef op maandag 02 april 2007 @ 16:37:
JavaScript:
1
2
3
4
5
6
7
8
<html>
<head>
<script language="javascript">
function confirmDelete()
{
    return confirm("Are you sure you want to delete this ?") ? true : false;
}
</script>
Nee dat werkt helaas ook niet.
Met exact hetzelfde resultaat , de pagina word na de cancel nog een keer herladen , met de GET variablen(die eigenlijk pas bij de OK zou moeten herladen worden)
Dit is ook niet juist:
PHP:
1
2
3
<?php
echo '<tr bgcolor="#FFFFFF"><td>'.$arDescription[$i].'</td><td><a href="cm_editmeta.php?submitarea=submitarea&selectarea='.$arId[$i].'">EDIT</a></td><td><a href="cm_editarea.php?status='.$arStatus[$i].'&areaid='.$arId[$i].'">'.$status.'</td><td><a href="cm_editarea.php?&areaid='.$arId[$i].'&action=delete" onClick="confirmDelete()"><img src="img/b_drop.png" border="0"></a></td></tr>';
?>

Nu wel
Wat is er niet juist aan dan ?
En wat is er aan veranderd dan?

[ Voor 34% gewijzigd door degroot op 02-04-2007 16:41 ]

www.degroot-it.nl


  • semicolon
  • Registratie: Mei 2004
  • Niet online
onClick="confirmDelete()"
wordt
onClick="return confirmDelete();"

-edit
wel in combinatie gebruiken met de nieuwe functie die eerder in het topic genoemd werd uiteraard ;)

[ Voor 45% gewijzigd door semicolon op 02-04-2007 16:47 ]

:D/-<


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 10:55

crisp

Devver

Pixelated

on a sidenote: GET gebruiken voor acties die serverside data manipuleren is bad practice ;)

Intentionally left blank


  • degroot
  • Registratie: December 2003
  • Niet online
Hmm dat schijnt inderdaad te werken!
Bedankt voor jullie snelle hulp!
Alleen had ik niet meer tot de oplossing kunnen komen denk ik (javascript kennis schiet me tekort )

www.degroot-it.nl

Pagina: 1