Bonjour,
Je suis sur un projet de site à réaliser en xhmtl 1.0 strict, et j'ai un petit problème avec la validation w3c :
voici le html :
et le javascript utilisé :
quelqu'un aurait-il une idée pour m'aider ?
Modifié par zatamos (19 Apr 2007 - 20:10)
      
      
    Je suis sur un projet de site à réaliser en xhmtl 1.0 strict, et j'ai un petit problème avec la validation w3c :
there is no attribute "name".
<form name="formulaire" action="">
voici le html :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/dtD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<link rel="stylesheet" type="text/css" href="style.css" />
	<script type="text/javascript" src="javascript.js"></script>
	
	<title>Projet Programmation Internet 2007</title>
</head>
<body onload = "document.formulaire.login.focus();">
<form name="formulaire" action="">
<div id="separation"></div>
	
	<div id="Corps">
		<div id="commentaire"></div>
		<p></p>
		
		<div id="nouveau_com" >
			<table>
				<tr>
					<td>Login : </td>
					<td> <input type="text" name="login" onblur="verif_login(this)" /> </td>
					<td id="ok"> </td>
					<td id="erreur1"> </td>
				</tr>
				
				<tr>
					<td id="nb_mot">Votre commentaire  [decu]250 caractères maximum)</td>
					<td><textarea name="text_com" cols="50%" rows="5%" onkeyup="verif_nb_mots(this)" onblur="verif_com(this)"></textarea></td>
					<td id="ok2"> </td>
					<td id="erreur2"> </td>
				</tr>
				
				<tr>
					<td> <input type="button" name="valider" value="valider" onclick="ajoutcom(this)" /> </td>
				</tr>
			</table>		
		</div>
				
	</div> 
</form>
	
</body>
</html>
et le javascript utilisé :
	function verif_login(formulaire)
	{
			if(document.formulaire.login.value.length < 2)
			{	
				document.getElementById('erreur1').innerHTML = '<div id="erreur">Login incorrect</div>';
				document.formulaire.login.focus();
				document.getElementById('ok').innerHTML = '<img src="images/bad.bmp" alt="bad">';
				return false;
			}
			else
			{
				document.getElementById('erreur1').innerHTML = '';
				document.getElementById('ok').innerHTML = '<img src="images/ok.bmp" alt="ok">';
				return true;
			}
	}
	function verif_com(formulaire)
	{
	
		var com = document.formulaire.text_com.value;
		var a;
		for(a=0; a < com.length; a++)
		{
			if(com[a] == '<')
			{
				if(! (com[a+1] == ' ' || (com[a+1] == 'b' && com[a+2] == '>' ) || (com[a+1] == '/' && com[a+2] == 'b' && com[a+3] == '>') ) )
				{
					document.getElementById('erreur2').innerHTML = "Code HTML interdit dans les commentaires";
					document.formulaire.text_com.focus();
					document.getElementById('ok2').innerHTML = '<img src="images/bad.bmp" alt="bad">';
					return false;
				}
			}
			
		}
	
		if(com.length < 5 || com.length > 250)
		{
			document.getElementById('erreur2').innerHTML = '<div id="erreur">Le commentaire doit avoir au moins 5 caractères et moins de 250 caractères</div>';
			document.formulaire.text_com.focus();
			document.getElementById('ok2').innerHTML = '<img src="images/bad.bmp" alt="bad">';
			return false;
		}
		
		
		{	
			document.getElementById('erreur2').innerHTML = '';
			document.getElementById('ok2').innerHTML = '<img src="images/ok.bmp" alt="ok">';
			return true;
		}
	}
	function verif_nb_mots(formulaire)
	{
		var a = 250 - document.formulaire.text_com.value.length;
		
		document.getElementById('nb_mot').innerHTML = 'Votre commentaire  [decu]' + a + 'mots maximum)';
	}
		
		
	function ajoutcom(formulaire)
	{
	
		if(verif_login()==true && verif_com()==true)
		{
			var login = document.formulaire.login.value;
			var com = document.formulaire.text_com.value;
			
			document.getElementById('ok').innerHTML = "";
			document.getElementById('ok2').innerHTML = "";
			document.getElementById('erreur1').innerHTML = "";
			document.getElementById('erreur2').innerHTML = "";
			document.formulaire.login.value = "";
			document.formulaire.text_com.value= "";
			
			var date = new Date();
			
				
			nouveau='<div id="commentaire_ajoute"> <table> <tr> <td colspan="2"><b> Commentaire ajouté le ' + date.getDate() + '/' + date.getMonth() + '/' + date.getFullYear() + ' à ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() + ' par  ' + login + ' : </b></td></tr>' + '<tr> <td>' + com + '</td> </tr> </table> </div>';
			
			document.getElementById('commentaire').innerHTML += '<p></p>' + nouveau;
			document.formulaire.login.focus();
		}
		
	}
quelqu'un aurait-il une idée pour m'aider ?
Modifié par zatamos (19 Apr 2007 - 20:10)
  
 )