8800 sujets

Développement web côté serveur, CMS

Bonjour tout le monde,

Si mon champ contient la valeur 1 (entier) j'aimerais appeler une fonction javascript (à partir de ma page php) :

if($row_Cloture['Cloture'] == 1) 
{	
  echo '<script type="text/javascript" src="../../js/cacher_bouton_cloture.js"></script>'; 
  echo '<script> cacher_bouton_cloture();</script>';
}


Ce code ne fonctionne pas car l'alerte ne se lance pas :

 function cacher_bouton_cloture()
{
   alert('test');
....


Mon script est donc appelé à partir d'ici ici :

a écrit :
Scripts/Utilisateur/cacher_bouton_cloture.php


et se trouve ici :

a écrit :
js/cacher_bouton_cloture.js


Je n'ai aucun message d'erreur.

Sauriez-vous me dire comment faire svp ?

Merci d'avance.

beegees
Modifié par beegees (16 Feb 2009 - 21:30)
Salut,

beegees a écrit :

Sauriez-vous me dire comment faire svp ?
Alors dans l'ordre :
1) coder une page en html simple et vérifier le code Javascript.
2) générer la même page en php.
3) si ça ne marche pas vérifier que le code html généré en php est le même que le code du 1).

Cela dit je ne vois pas bien ce que vient faire ici le code invalide suivant :
echo '<script> cacher_bouton_cloture();</script>';

Modifié par Heyoan (15 Feb 2009 - 20:11)
Bonjour Heyon,

Entre temps, j'ai testé avec un bouton.

ce que je peux dire, c'est que lorsque je clic sur le bouton, j'arrive bien dans la fonction js :

if($row_Cloture['Cloture'] == 1) 
{
	
  echo '<input type="submit" name="cloturer" disabled="disabled" id="cloturer" value="cours cloture le" onclick="Cloturer();"/>';
  
  echo '<script type="text/javascript" src="../../js/cacher_bouton_cloture.js"></script>'; 
  echo '<input type="button" name="cloturer" onclick="cacher_bouton_cloture();"/>';
}
else
{
	
	echo '<input type="submit" name="cloturer" id="cloturer" value="Cloturer ce cours" onclick="Cloturer();"/>';
	echo '<input type="button" name="cloturer" onclick="cacher_bouton_cloture();"/>';
}


Je clic sur le bouton, ça fonctionne, le bouton "cloturer" devient disable si le champ de la bd vaut 1.

Par contre, le fait d'appeler la fonction ne l'a lance pas sans le bouton.

Est-ce donc possible de lancer la fonction javascript sans le clic sur le bouton ?

Merci encore pour ton aide.

beegees
<?php
if($row_Cloture['Cloture'] == 1)  {
echo '<body onload="cacher_bouton_cloture();">';
} else {
echo '<body>';
}
?>

Cependant, pourquoi ne pas afficher/cacher le bouton directement en PHP ? Ce serait plus simple.
Modifié par Noix de Coco (15 Feb 2009 - 22:21)
Bonjour Noix de coco,

Merci pour ta réponse.

Sais-tu me dire comment cacher le bouton avec PHP ?

Merci encore.

beegees
Tout simplement :
<input type="submit" name="cloturer" id="cloturer" value="Cloturer ce cours" onclick="Cloturer();"<?php if($row_Cloture['Cloture'] == 1) echo ' style="display: none;"'; ?> />';
Noix de Coco a écrit :
Tout simplement :
<input type="submit" name="cloturer" id="cloturer" value="Cloturer ce cours" onclick="Cloturer();"<?php if($row_Cloture['Cloture'] == 1) echo ' style="display: none;"'; ?> />';


OK, merci bien.

beegees