Insertion PHP dans une variable JS
Résolu
barale61
Messages postés
1126
Date d'inscription
Statut
Membre
Dernière intervention
-
barale61 Messages postés 1126 Date d'inscription Statut Membre Dernière intervention -
barale61 Messages postés 1126 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite mettre une confirmation JS avec comme valeur une variable PHP mais ça me renvoi vers la première entrée de ma table et non vers celle demandée.
Je vous remercie de votre aide.
Évidemment en dehors du JS le PHP fonctionne bien.
Je souhaite mettre une confirmation JS avec comme valeur une variable PHP mais ça me renvoi vers la première entrée de ma table et non vers celle demandée.
Je vous remercie de votre aide.
function confirmation(id)
{
var id = parseInt('<?php echo htmlspecialchars($donnees['id']);?>');
if (confirm("Voulez-vous vraiment supprimer le billet:\n\n " + " " + "<?php echo htmlspecialchars($donnees['titre']);?>"+ " ?" )) window.location.href = "supprime_billet.inc.php?id="+id;
}
Évidemment en dehors du JS le PHP fonctionne bien.
2 réponses
-
Salut,
Il faudrait plutôt renseigner les informations du billet lors de l'appel de la fonction confirmation en paramètres plutôt que de les saisir directement dans la fonction, sinon il faudrait créer une fonction par billet...
Par exemple lors de l'affichage des tes billets :<!-- Bouton de suppression --> <button onclick="confirmation(<?php echo htmlspecialchars($donnees['id']);?>, <?php echo htmlspecialchars($donnees['titre']);?>)">Supprimer</button>
et la fonction javascript :function confirmation(id, titre) { if (confirm("Voulez-vous vraiment supprimer le billet:\n\n " + titre + " ?")) window.location.href = "supprime_billet.inc.php?id="+id; }
Bonne journée-
-
Par contre vous pouvez faire ça:
_écrire la valeur avec PHP dans un élément HTML<p id='titre'><?php htmlspecialchars($donnees['titre']); ?> <p id='id'><?php htmlspecialchars($donnees['id']); ?> </p> Une fois écrit dans la page on peut récupérer le contenu des balises avec javascript: <button onclick="confirmation(document.getElementById('id').innerHTML,document.getElementById('id').innerHTML);">Supprimer</button>- oulaaa.
Mettre le même ID à plusieurs endroits.... et vouloir s'en servir dans le javascript ???..... ça ne fonctionnera jamais !
La solution de Pitet est la bonne....
Il a juste oublié de mettre des quotes autour de sa variable "Texte".
Un truc du genre :<button onclick="confirmation(<?php echo htmlspecialchars($donnees['id']);?>, '<?php echo htmlspecialchars($donnees['titre']);?>')">Supprimer</button>
Si ça ne fonctionne toujours pas, jettes dont un oeil dans la Console de ton navigateur voir si il y a des erreurs.
(je t'invite à utiliser la console du plugin FireBug pour le navigateur FireFox).
-
-
Merci beaucoup ça marche comme ça. Je ne peux plus installer firebug sur FireFox Aurora et j'ai fait un post à ce sujet: https://forums.commentcamarche.net/forum/affich-32821961-firebug-plus-compatible#p32821961