11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour

J'ai ce lien qui supprime une ligne de données dans ma bdd. J'aimerais rajouter une confirmation avant d'exécuter la requête et je ne vois pas vraiment où ajouter cette partie javascript.
Voici mon lien :
<a href="deleteFacture.php?id='.$re['id'].'">Suppr</a>

Dès qu'on clique sur ce lien, cette requête ci-dessous est exécutée:
$req = $base->prepare('DELETE FROM infosfacture WHERE id= :id');
$req->bindParam(':id', $_GET['id'], PDO::PARAM_INT);
// echo "<script type=\"text/javascript\">
// alert('Vous confirmez supprimer cette facture')
// </script>";
$req->execute();


J'ai écris cette fonction mais je ne vois pas comment l'utiliser à partir du lien :
function delete_confirm()
{
			if(confirm("Voulez vous vraiment supprimer cette facture ?"))
			{
				alert('Supression effectuer');
				location.href= 'deleteFacture.php';
			}
			else
			{
				alert('Suppression annulée');
				location.href='listefactures.php';
			}
		}


Merci pour votre aide !
Salut

as tu essayer l'evenemnt OnClick() javascript ?


<a href="..." OnClick="ta_fonction_javascript()"/>
Oui voici mon lien:
<a href="deleteFacture.php?id='.$re['id'].'" onclick="delete_confirm()">Suppr</a>


Après je ne sais plus où mettre la fonction !
Il y a plus simple :

<a 
	href="deleteFacture.php?id='<?php echo $re['id']; ?>'"
	onclick="return confirm('Effacer la facture n°<?php echo $re['id']; ?>');"
>Suppr</a>


Sinon tu peux mettre ta fonction javascript avant la balise </body>
J'ai fait ça et ça marche pas, les données sont supprimées automatiquement sans demander la confirmation :

<?
<a href="deleteFacture.php?id='.$re['id'].'" onclick="return confirm("Effacer la facture n° '.$re['id'].'");">
  <FONT color="white">Suppr</FONT></a>
?>

Modifié par CVFlashJob (17 Apr 2018 - 17:29)
Cela ne correspond à l'exemple que je t'ai donné !
C'est quoi ces trucs qui se balladent tous seuls : "<?" et "?>" ?
Voici une exemple complet qui marche :

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
    <title>CvFlashJob</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <style>
        a { cursor: pointer; }
        a:hover { color: #fff; background: firebrick; padding: 0 0.5rem; text-decoration: none; }
    </style>
</head>
<body>
<?php
    $re = array(
        'id' => 999,
        'company' => 'My Worldwide compagny'
    );
?>
    <p>
        <span><?php echo $re['company']; ?></span>
        <a href="https://google.fr/delete.php?id=<?php echo $re['id']; ?>" onclick="return confirm('Supprimer la facture n°<?php echo $re['id']; ?>');">Supprimer</a>
    </p>
</body>
</html>
Ca marche avec un petit arrangement au niveau du lien, merci !
<a href="deleteFacture.php?id=<?= $re['id'] ?>"
	onclick="return confirm('Voulez-vous supprimer la facture n° <?php echo $re['num']; ?>');">
  <FONT color="white">Suppr</FONT></a>

Modifié par CVFlashJob (17 Apr 2018 - 18:57)
Je te donne un exemple complet et tu trouves moyen de mal faire Smiley fache

La balise <FONT> comme toutes les balises s'écrit en minuscules et s'utilisait au temps d'IE6 que tu n'as peut-être pas connu Smiley bawling
C'est écrit sur fond rouge dans le lien suivant : OBSOLETE !
https://developer.mozilla.org/fr/docs/Web/HTML/Element/font

On sépare le fond (HTML / PHP) et la forme (CSS)
Donc couleurs, dimensions, positionnement se réglent dans une feuille de style CSS.
Et si on doit modifier par programmation à la tête du client, on utilise une class.
En fait
href="deleteFacture.php?id='<?php echo $re['id']; ?>'"
ne marche pas , il fallait faire
href="deleteFacture.php?id=<?= $re['id'] ?>"
et ça marche.

Bon pour font, je voulais faire un style rapide, je vais passer par une class.
Modifié par CVFlashJob (17 Apr 2018 - 21:14)