Maison >développement back-end >tutoriel php >Le problème qu'une balise ne peut pas appeler la méthode js
Lorsque nous effectuons la suppression en arrière-plan, lorsque vous cliquez pour supprimer une balise, vous espérez qu'une boîte de dialogue conviviale apparaîtra ! Par exemple :
Comment le code doit-il être écrit ? Comme ça?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script> window.onload=function () { function confirmdelete(id) { return window.confirm("你确定要删除吗?"); } } </script> </head> <body> </body> <?php echo "<a onclick='confirmdelete(2)'>删除</a>";?>
Vous constaterez qu'une telle erreur se produit :
La fonction n'est pas utilisée ? Cela ne devrait pas l'être, ne l'ai-je pas déjà appelé en php ?
Remarque :
Les personnes qui ont écrit du front-end doivent savoir que cette méthode est exécutée une fois la page complètement chargée, alors le problème vient, PHP L'ordre d'exécution est avant js, donc lorsque php est exécuté, on constate que la méthode dans la balise a n'existe pas, car js n'a pas été exécuté à ce moment, donc cela amène la balise php a à appeler js et il y a aucune réponse.
Alors le code devient comme ça ?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script> function confirmdelete(id) { return window.confirm("你确定要删除吗?"); } </script> </head> <body> </body> <?php echo "<a onclick='return confirmdelete(2)'>删除</a>";?>
Le résultat est une exécution réussie ! Certaines personnes disent que c'est faux. N'avez-vous pas dit que l'ordre d'exécution de php devrait précéder js ? Ce n'est pas différent de ce qui précède ?
Ensuite, vous devez faire attention à ce moment-là. Avec la contrainte de la méthode window.onload, le js est exécuté en dernier. Ensuite, lorsque vous supprimez cette contrainte, vous constaterez que cette fonction
est juste une instruction, en js, pour les fonctions qui sont uniquement déclarées, elle sera compilée en premier, donc lorsque la balise a de php est exécutée à ce moment-là, parce que la fonction qu'elle veut appeler a été pré-compilée, elle peut être appelé.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!