11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour a tous j'ai essaye de faire valider mon site par le validateur w3c et je rencontre un probleme sur une des pages que je ne sais résoudre au niveau de l'utilisation d'un script javascript a l'interieur d'un input. Sur le site du validateur j'ai le message suivant
Error Line 52, Column 56: there is no attribute "onFocus".
…name="pseudo" value="pseudo" onFocus="if ( !this.cliquer ){ this.value=''; th

Je ne sais pas comment résoudre ce probléme merci de bien vouloir m'aider voici mon code :
 <?php
session_start ();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajouter un membre</title>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />

</head>
<body>
<script type="text/javascript">
        var clk=false;
        function main(chp)
        {    if (!clk)   
            {    chp.value="";
                  clk=true;   
            }
        }
    </script>
<div class="div_principale">
<div class="banniereduhaut">
<img class="normal" src="Images/Banner3.gif" alt="banniere du site"  />
</div>
<div class="rech_rapide">
<?php
include("rech_rapide.php");?>
</div>

<div class="connexion">
<?php 
include("connexion.php");

	

?>
</div>

<div >
<?php
include("menu.php");
?>

</div>
<div class="contenu">
<h2 style="color:rgb(204,102,0)">Choisissez l'utilisateur à ajouter <br/> <br/> <br/></h2>
<fieldset><legend style="color:rgb(255,153,0)">Ajouter un membre</legend>
 <form action="ajout.php" method="post">

<input type="text" name="pseudo" value="pseudo" onFocus="if ( !this.cliquer ){ this.value=''; this.cliquer=true; } "/> <input type="text" name="passe" value="passe"onFocus="if ( !this.cliquer ) { this.value=''; this.cliquer=true; } "/>
<input type="text" name="email" value="email" onFocus="if ( !this.cliquer ){ this.value=''; this.cliquer=true; } "/><br/>
<input type="submit" name="ajout_membre" value="Ajouter" />

</form>
</fieldset>

</div>

<div class="pied_de_page">

</div>
</div>
</body>
</html> 

Modifié par anthonydb1 (21 Dec 2008 - 19:23)
Hello,

Le javascript inline c'est pas terrible. Pour bien faire, il faudrait que tu donnes un id à chacun de tes champs à qui tu a ajouté un onFocus, et que tu les cibles ensuite depuis un script externe (si possible dans son propre fichier .js, ça serait encore plus propre) chargé après cet élément.
Un p'tit bout de la FAQ en parle

Dans ce fichier, tu fais un truc du genre

document.getElementById('monIdUniqueDeChamp').onfocus = function() {
//Avec ici le code que tu veux appliquer au champ, avec le mot-clé this
}


Bon, sinon, si c'est juste passer la validation qui t'interesse, tu peux essayer de remplacer "onFocus" par "onfocus", on ne sait jamais.

P.S : Le css inline, c'est pas beau non plus.