par
d0m » 06 mars 2008, 09:50
Salut,
premièrement il faut que tu différencies 2 choses :
- le PHP qui construit ici ta page :
if ($lire === FALSE){
echo "...";
echo "...";
...
- le javascript : c'est le script que tu appelles lorsque tu cliques sur tout cocher/tout décocher
Les erreurs PHP s'affichent dans la page si il y a un soucis.
Pour les erreurs javascript, tu ne les voient pas directement. Par exemple sous IE6, en bas à gauche, dans ta barre d'état tu as un point d'exclamation qui s'affiche si il y a une erreur javascript. en cliquant dessus il te donne l'erreur.
As tu une erreur javascript?
*edit : je pense voir d'où vient l'erreur : c'est une erreur de quotes.
echo "<input type='button' value='Tout cocher' onClick='GereChkbox('div_chck','1');' />";
Cette ligne va être interprétée par PHP et va afficher comme code source HTML de la page :
Code : Tout sélectionner
<input type='button' value='Tout cocher' onClick='GereChkbox('div_chck','1');' />
Le p^roblème vient précisiement d'ici :
tu utilise les mêmes quotes pour entourer le contenu l'événement
onClick que pour entourer la chaine
div_chck
Pour html ca commence à 'Ge.... et s'arrete à ox(' puis recommence à ',' ....
Il faudrait par exemple, comme dans l'exemple du script récupéré que le code html soit :
Code : Tout sélectionner
<input type="button" value="Tout cocher" onClick="GereChkbox('div_chck','1');" />
Mais comment mettre cette chaine avec ces quotes dans une chaine PHP pour faire un echo?
Là tu as 2 solutions :
- mettre tout ton code html entre simple quote et échapper toutes les simples quotes contenues à l'intérieur :
echo '<input type="button" value="Tout cocher" onClick="GereChkbox(\'div_chck\',\'1\');" />';
- te passer de l'
echo qui évite d'échapper les quotes et en plus de faire du code html propre, comme si tu codais simplement en html (saut d eligne etc...). Pour cela il faut sortir des balises <?php ?> :
<?php
if ($lire === FALSE)
{?>
<form action="admin.php" method="POST">
<table>
<input type="button" value="Tout cocher" onClick="GereChkbox('div_chck','1');" />
....
</table>
</form>
<?php } ?>