Onmouseover dans un td dans un echo ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Onmouseover dans un td dans un echo ?

Re: Onmouseover dans un td dans un echo ?

par byron » 08 déc. 2010, 12:19

Oui, c'est possible que ça vienne du javascript.

La fonction mouseOver est juste un rollover sur un bouton. En fait j'ai 2 boutons et lorsque je roll dessus je veux qu'ils changent de couleur.
Ils sont gris au départ et je leur ai assigné une couleur orangée.
Je vous met le code entier ci dessous, si des fois ça peut aider.
Merci.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>


<style type="text/css">
#numpage {
	font-family:Arial, Helvetica, sans-serif;
	font-size:14px;
	color:#000000;
	border:thin #CCCCCC solid;
	width:30px;
	height:30px;
	text-align:center;
}

.numpage {
	
	font-family:Arial, Helvetica, sans-serif;
	font-size:14px;
	color:#666666;
}
</style>


<script type="text/javascript">
function mouseOver()
{
document.getElementById("numpage").style.color="#FCO";
}
function mouseOut()
{
document.getElementById("numpage").style.color="#666";
}
</script> 

</head>

<body>




<?php
function affichePages($nb,$page,$total) {
        $nbpages=ceil($total/$nb);
        $numeroPages = 1;
        $compteurPages = 1;
        $limite  = 0;
        echo '<table border = "0" ><tr>'."\n";
        while($numeroPages <= $nbpages) {
        echo '<td id="numpage" onmouseover=\'mouseOver();\'><a class="numpage" href = "'.$page.'?limite='.$limite.'">''.$numeroPages.'</td></a>'."\n";
        $limite = $limite + $nb;
        $numeroPages = $numeroPages + 1;
        $compteurPages = $compteurPages + 1;
            if($compteurPages == 10) {
            $compteurPages = 1;
            echo '<br>'."\n";
            }
        }
        echo '</tr></table>'."\n";
}
?>



</body>
</html>

Re: Onmouseover dans un td dans un echo ?

par xTG » 08 déc. 2010, 09:50

Le code que tu as ne générera aucune erreur PHP (voir la coloration syntaxique qui est correcte).
Donc le seul soucis ne peut venir que de ta fonction js.

Re: Onmouseover dans un td dans un echo ?

par devlop78 » 08 déc. 2010, 02:17

Je pense qu'il s'agit plutot d'un problème JavaScript. Qu'est censé faire JavaScript à l'appel de mouseOver() ? Comment peut-il savoir qui l'a appelé ?

Re: Onmouseover dans un td dans un echo ?

par byron » 07 déc. 2010, 23:59

Ben en fait j'ai tout testé, simple et double guillemet, mais ça reviens au même.

La seule réponse que j'ai trouvé c'est que les quote de l'echo devait géner celle du javascript et qu'il fallait mettre les slash avant.

Re: Onmouseover dans un td dans un echo ?

par xTG » 07 déc. 2010, 22:20

Pourquoi tout d'un coup des simple quotes ? onMouseOver est un attribut comme un autre, au même titre que id par exemple.

Onmouseover dans un td dans un echo ?

par byron » 07 déc. 2010, 19:57

Salut à tous,

J'ai un bout de code php, qui fait apparaitre des boutons. J' aimerai lui affecter des évènements javascript (onmouseover/out).
Mais voila, cela ne marche pas.

Je crois que c'est un problème de guillemet qui rentre en "colision" avec celles du php, notemment celles du echo.
<?php
function affichePages($nb,$page,$total) {
        $nbpages=ceil($total/$nb);
        $numeroPages = 1;
        $compteurPages = 1;
        $limite  = 0;
        echo '<table border = "0" ><tr>'."\n";
        while($numeroPages <= $nbpages) {
        echo '<td id="numpage" onmouseover=\'mouseOver();\'><a class="numpage" href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
        $limite = $limite + $nb;
        $numeroPages = $numeroPages + 1;
        $compteurPages = $compteurPages + 1;
            if($compteurPages == 10) {
            $compteurPages = 1;
            echo '<br>'."\n";
            }
        }
        echo '</tr></table>'."\n";
}
?>
Comme vous pouvez le voir j'ai testé la technique consistant à mettre des slash, mais rien n'y fait.
Si quelqu'un sait comment contourner ce problème, je suis preneur :mrgreen:

Merci.