Lancement de script via la balise <a href= >
Fermé
tanis
-
26 avril 2012 à 18:05
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 10 mai 2012 à 14:55
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 10 mai 2012 à 14:55
A voir également:
- A href script
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Microsoft activation script - Accueil - Windows
- Script bat - Guide
- Executeur de script - Télécharger - Édition & Programmation
10 réponses
Ce qui est surprenant c'est que l'alerte fonctionne si je le lance directement dans la balise
J'ai bien entendu essayé d'écrire mon appel de script sous cette forme :
ça ne fonctionne pas non plus.
Une précision supplémentaire, ma balise est dans une boucle for.
<a href="#" onclick="javascript:alert('TEST')"> <?php echo $nom_champ ?> </a>
J'ai bien entendu essayé d'écrire mon appel de script sous cette forme :
<a href="javascript:infoChamp(<?php echo $nom_champ ?>)"> <?php echo $nom_champ ?> </a>
ça ne fonctionne pas non plus.
Une précision supplémentaire, ma balise est dans une boucle for.
Personne n'a une petite idée d'où pourrais venir le problème ?
Je bloque sur un autre appel de fonction java script (qui également ne se lance pas).
Quelqu'un serait il en mesure de m'aider s'il vous plait ?
Je bloque sur un autre appel de fonction java script (qui également ne se lance pas).
Quelqu'un serait il en mesure de m'aider s'il vous plait ?
bonjour ,
essyez de mettre des " ' " avant les balises PHP <? ?>
<a href="#" onclick="javascript:infoChamp('<?php echo $nom_champ ?>')"> <?php echo $nom_champ ?> </a>
essyez de mettre des " ' " avant les balises PHP <? ?>
<a href="#" onclick="javascript:infoChamp('<?php echo $nom_champ ?>')"> <?php echo $nom_champ ?> </a>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
10 mai 2012 à 10:46
10 mai 2012 à 10:46
Bonjour,
Essaye comme ça :
Essaye comme ça :
<?php echo('<a href="#" onclick="javascript:infoChamp(\''.$nom_champ.'\')"> '.$nom_champ.'</a>'); ?>
Toujours pas.
J'avoue que je bloque complétement sur ce problème, je suppose que sa doit être un problème de syntaxe ...
J'avoue que je bloque complétement sur ce problème, je suppose que sa doit être un problème de syntaxe ...
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
10 mai 2012 à 11:14
10 mai 2012 à 11:14
Et si à la place du PHP tu rentres directement le bon paramètre dans l'appel de ta méthode javascript, ça marche ?
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
10 mai 2012 à 11:20
10 mai 2012 à 11:20
Oui mais remplaçant le "alert" par infoChamp avec un paramètre valide ?
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
Modifié par Mihawk le 10/05/2012 à 11:28
Modifié par Mihawk le 10/05/2012 à 11:28
Et en virant le "javascript : " ?
onclick="infoChamp('monparametre');"
onclick="infoChamp('monparametre');"
Je vous donne l'intégralité de mon code, c'est assez lourd, désolé.
<!DOCTYPE html> <?php session_start(); // set_time_limit(0); // permet de ne plus limiter le timeout du navigateur $nom_table="VTR_UG"; ?> <html> <head> <!-- <?php echo $_SERVER['PATHEXT']; ?> permet de verifier si java script est activé (cf js ou jse ) --> <title>Vue Cascade </title> <link rel="STYLESHEET" href="style.css" type="text/css"/> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!-- Permet de faire fonctionner le HTML 5 même dans un navigateur ancien --> <script type="text/javascript"> function infoChamp(value) { alert('TEST'); var xhr; try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e2) { try { xhr = new XMLHttpRequest(); } catch (e3) { xhr = false; } } } xhr.onreadystatechange = function() { if(xhr.readyState == 4) { if(xhr.status == 200) document.ajax.dyn="Received:" + xhr.responseText; else document.ajax.dyn="Error code " + xhr.status; } }; var nom_champ; nom_champ=value; var nom_champ = encodeURIComponent(nom_champ); xhr.open( "GET", "data_liste_table.php?nom_champ", true); // recupere la liste des tables contenant le champs choisi xhr.send(null); var liste_table = JSON.parse(xhr.responseText); } function redirection() { nom_table=document.getElementById("value"); <?php $_SESSION['nom_table'] = $_GET['nom_table']; ?> window.location.replace("vue_cascade.php"); } </script> </head> <body class="page"> <div id="header"> <!-- Bienvenue <?php echo' '. $_SESSION['Nom'].' '. $_SESSION['Prenom'].''; ?> --> </div> <div id="menu"> <h1> Menu </h1><br /> <a href="page_centrale.php">Page Centrale</a><br/><br/> <a href="vue.php">Vue</a><br/><br/> <a href="role_schema.php">Role et Schema</a><br/><br/> </div> <div id="deconnexion"> <form action="deconnexion.php"> Vous êtes connecté en tant que <!-- <?php echo $_SESSION['login']; ?> -->.<br/> <input class="submit" type="submit" name="Deconnexion" id="Deconnexion" value="Deconnexion"/><br/> </form> </div> <div id="corps"> <h2> Vue Cascade </h2><br/> <div id="cadre_gauche"> <table cellspacing="3" cellpadding="2"> <tr> <td><h3>Nom Table: <?php echo $nom_table ?></h3></td> <!-- Aller chercher le Nom de la Table selectionné --> </tr> <tr> <td> <!-- Créer un volet déroulant regroupant l'ensemble des Tables Vue , Afficher le nom de la table préselectionné directement dans le volet deroulant --> <select name="liste" onchange="redirection(this.value)" > <?php include("connexion_DWH.php"); // connexion a la Bdd $resource_nbr_table=odbc_exec($connexion,"Select count( distinct table_name ) from user_tab_privs where grantee = 'USR_DWH_FRANCE' and privilege = 'SELECT'and table_name not like 'BIN%'" ); odbc_fetch_into ($resource_nbr_table, $result_array_1 ); $nbr_table=$result_array_1{0}; // nombre de Tables Vue $resource_nom_table_menu_deroulant = odbc_exec($connexion,"Select distinct table_name from user_tab_privs where grantee = 'USR_DWH_FRANCE' and privilege = 'SELECT'and table_name not like 'BIN%' GROUP by table_name order by table_name" ); if (!$connexion) { // verification de la connexion a la Bdd ?> <script type="text/javascript"> //window.location.replace("index.php"); alert('Erreur de connexion à la Base de données.'); </script> <?php ;} else { for ($i=0;$i<$nbr_table;$i++) { odbc_fetch_into ($resource_nom_table_menu_deroulant, $result_array_2_5,$i+1 ); odbc_fetch_into ($resource_nom_table_menu_deroulant, $result_array_2, $i ); $nom_table_menu_deroulant_1= $result_array_2{0} ; $nom_table_menu_deroulant_2= $result_array_2_5{0} // tableau qui rescence l'ensemble des vues accessibles par cet utilisateur ?> <option value="<?php echo $nom_table_menu_deroulant_1 ?> <?php if ($i<nbr_table-1 and $nom_table_menu_deroulant_1==$nom_table) {echo ('selected="selected"');} ?> > <?php echo $nom_table_menu_deroulant_1 ?> <!-- Affiche dans le menu déroulant l'ensemble des Tables Vues présentes dans la Bdd et effectue une redirection lors d'un changement de table , préselectionner la table déja choisis par l'utilisateur --> <option value="<?php echo $nom_table_menu_deroulant_2 ?> <?php if ($nom_table_menu_deroulant_2==$nom_table) {echo ('selected="selected"');} ?> > <?php echo $nom_table_menu_deroulant_2 ?> <?php ;} ;} ?> </select> </td> </tr> <!-- Lister l'ensemble des Champs contenu dans la Table selectionné --> <tr> <td> <?php $resource_nbr_champ=odbc_exec($connexion,"SELECT count(*) FROM user_tab_columns WHERE table_name ='" . $nom_table . "'"); odbc_fetch_into ($resource_nbr_champ, $result_array_3 ); $nbr_champ=$result_array_3{0}; //calcul du nombre de champs de la table selectionné $resource_nom_champ=odbc_exec($connexion,"Select distinct COLUMN_NAME FROM user_tab_columns WHERE table_name ='".$nom_table."'GROUP by COLUMN_NAME" ); // Recuperation dans un tableau de l'ensemble des champs relatif a la vue selectionné if (!$connexion) { // verification de la connexion a la Bdd ?> <script type="text/javascript"> //window.location.replace("index.php"); alert('Erreur de connexion à la Base de données.'); </script> <?php } else { for ($j=0;$j<$nbr_champ;$j++) { odbc_fetch_into ($resource_nom_champ, $result_array_4, $j ); $nom_champ=$result_array_4{0}; ?> <a href="#" onclick="javascript:infoChamp('<?php echo $nom_champ ?>')"> <?php echo $nom_champ ?> </a> </br> <?php // <!-- Affichage de tous les champs de la Table selectionné --> } ; $nom_champ=''; } ?> </td> </tr> </table> </div> <div id="cadre_droite"> <!-- <INPUT type="text" name="dyn" value=""> --> </div> <div id="cadre_bas"> <h4>Informations relatives au champ <?php echo $nom_champ ?> :</h4> </div> </div> <div id="footer"> <p style="text-align: right;"><a href="admin_contact.php">Contact</a></p> </div> </body> </html>
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
10 mai 2012 à 14:02
10 mai 2012 à 14:02
Tu devrais installer le plugin "Firebug" sous Mozilla et faire tourner ton site dessus ; Firebug te sortira les erreurs Javascript s'il y en a.
Arrête moi si je me trompe, Firebug affiche le code source de la page en cours, et affiche en surligné jaune d'éventuelles erreurs de syntaxe ?
Si c'est bien ça, je n'ai pas d'erreur sur le code concerné par ma demande ...
Je désespère de comprendre pourquoi je n'arrive pas à appeler de fonction javascript ...
C'est la première fois que j'ai un tel problème , j'ai même vérifié si JS était bien activé sur le navigateur via la commande :
<?php echo $_SERVER['PATHEXT']; ?>
Si c'est bien ça, je n'ai pas d'erreur sur le code concerné par ma demande ...
Je désespère de comprendre pourquoi je n'arrive pas à appeler de fonction javascript ...
C'est la première fois que j'ai un tel problème , j'ai même vérifié si JS était bien activé sur le navigateur via la commande :
<?php echo $_SERVER['PATHEXT']; ?>
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
10 mai 2012 à 14:44
10 mai 2012 à 14:44
Firebug a normalement un onglet "Console" dans lequel apparaissent les erreurs JS
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
10 mai 2012 à 14:55
10 mai 2012 à 14:55
De rien :)