Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > HTML / DHTML / XHTML
HTML / DHTML / XHTML Forum sur la programmation HTML / DHTML/ XHTML et la validation W3C. Cours (X)HTML, FAQ (X)HTML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/11/2010, 21h17   #1
Membre éclairé
 
Avatar de ledisciple
 
Homme François
observateur de nuage niveau 2.3
Inscription : août 2008
Messages : 545
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 27
Localisation : France

Informations professionnelles :
Activité : observateur de nuage niveau 2.3

Informations forums :
Inscription : août 2008
Messages : 545
Points : 313
Points : 313
Par défaut balise img dans du javascript

Bonjour

J'ai un formulaire que je vais vérifier côté serveur (php) Pas de problème pour la vérification. Si une erreur est recensée, php envoie ce code :

(mistake est un array contenant les différent id ...)

Code :
<script type=\"text/javascript\">document.getElementById('".$mistake."').value = '".$$mistake."'</script>
Pas de problème pour afficher l'erreur non plus. Par contre j'ai une erreur lors de la validation.

code source généré

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<form>
...
 
<div class="contenaire_form">
 
		<div class="champ_area">
			Numéro : <input name="numrencontresaisie" id="numrencontresaisie" onchange="VerifNumRencontre()" size="8" value="" maxlength="8" type="text">
		</div>
		<div class="validation_form_javascript" id="validation_num_rencontre"><img src="images/unvalid_formulaire.png" alt="Champ du formulaire invalide"> La rencontre existe déjà</div>
	</div>
 
</form>
...
 
<script type="text/javascript">document.getElementById('validation_num_rencontre').innerHTML = '<img src="images/unvalid_formulaire.png" alt="Champ du formulaire invalide" /> La rencontre existe déjà'</script>
Il m'indique une erreur au niveau de la balise img, dans la dernière partie du code retourné ( au niveau du <script type ... )

Citation:
line 260 column 322 - Erreur: document type does not allow element "img" here
Comment je peux faire pour la rectifier?

Merci
__________________
_____________________________________________
Tours Football Club - Turonorum Civitas Libera
ledisciple est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 22h16   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 787
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 787
Points : 35 788
Points : 35 788
Citation:
Par contre j'ai une erreur lors de la validation.
La validation ne tient pas compte des modifications faites par script.
L'erreur ne vient donc pas de là.

Ceci dit, méfie-toi : la ligne indiquée par le validateur est rarement la ligne correspondante du code source.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 22h22   #3
Membre éclairé
 
Avatar de ledisciple
 
Homme François
observateur de nuage niveau 2.3
Inscription : août 2008
Messages : 545
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 27
Localisation : France

Informations professionnelles :
Activité : observateur de nuage niveau 2.3

Informations forums :
Inscription : août 2008
Messages : 545
Points : 313
Points : 313
Citation:
Envoyé par Bovino Voir le message
La validation ne tient pas compte des modifications faites par script.
L'erreur ne vient donc pas de là.
oui, mais quand je retire la ligne en cause il n'y a plus d'erreur
__________________
_____________________________________________
Tours Football Club - Turonorum Civitas Libera
ledisciple est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 22h29   #4
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Est-ce que ta variable PHP $mistake ou les variables associées $$mistake affichent du HTML ? Comme un élément img par exemple ?

Ce qui est intéressant de voir est le code généré par le PHP, et non pas le code généré par ton script Javascript.
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 06h42   #5
Membre éclairé
 
Avatar de ledisciple
 
Homme François
observateur de nuage niveau 2.3
Inscription : août 2008
Messages : 545
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 27
Localisation : France

Informations professionnelles :
Activité : observateur de nuage niveau 2.3

Informations forums :
Inscription : août 2008
Messages : 545
Points : 313
Points : 313
Pardon je me suis trompé

Je teste mon formulaire côté serveur et je mets dans un tableau $erreur, du javascript.
Code :
1
2
3
4
5
 
if ( mysql_num_rows($req) > 0)
		{ 
		array_push($erreur, "<script type=\"text/javascript\">document.getElementById('validation_num_rencontre').innerHTML = '<img src=\"images/unvalid_formulaire.png\" alt=\"Champ du formulaire invalide\" /> La rencontre existe déjà'</script>");
		 }
j'arrive à a fin de ma page de validation : je renvoie sur le page du formulaire en cas d'erreur ( si le tableau est rempli ou pas)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
if ( !empty($erreur) )
		{
		$mistakes = array("jour","mois","annee","numrencontresaisie");
 
		foreach( $mistakes as $mistake)
		{
			array_push($erreur, "<script type=\"text/javascript\">document.getElementById('".$mistake."').value = '".$$mistake."'</script>");
		}
 
		$_SESSION['erreur'] = $erreur;	
		header('Location: /football/AjoutRencontreSaisie.php');
		exit();
		}
Une fois sur la page du formulaire (en cas d'erreur trouvée)

le code généré est le suivant

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<form name="form" action="ajoutrencontre.php" method="post" class="formulaire">
<div class ="contenaire_form">

		<div class="champ_area">
			Numéro : <input name="numrencontresaisie" id="numrencontresaisie" onchange="VerifNumRencontre()"  size="8" type="text" value="" maxlength="8" />
		</div>
		<div class="validation_form_javascript" id="validation_num_rencontre"></div>
	</div>
</div>
<div id="espace_bouton_envoie"><input name="confirmajoutrencontre" value="Ajouter" type="submit" /></div>
	
</form>

C'est cette partie qui fait afficher le script :
if (!empty($_SESSION['erreur']) )
	{
		foreach($_SESSION['erreur'] as $erreurs)
		{
		echo $erreurs;
		unset($_SESSION['erreur']);
		unset($erreurs);
		unset($erreur);
		}
	}



<script type="text/javascript">document.getElementById('validation_num_rencontre').innerHTML = '<img src="images/unvalid_formulaire.png" alt="Champ du formulaire invalide" /> La rencontre existe déjà'</script>
__________________
_____________________________________________
Tours Football Club - Turonorum Civitas Libera
ledisciple est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 07h22   #6
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
C'est bien ce qu'il me semblait. Et l'image est effectivement mal placée. Il faut "échapper" le Javascript lorsqu'il est directement inclus dans le code HTML :
http://www.w3.org/TR/xhtml1/#h-4.8
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 16h09   #7
Membre éclairé
 
Avatar de ledisciple
 
Homme François
observateur de nuage niveau 2.3
Inscription : août 2008
Messages : 545
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 27
Localisation : France

Informations professionnelles :
Activité : observateur de nuage niveau 2.3

Informations forums :
Inscription : août 2008
Messages : 545
Points : 313
Points : 313
merci pour le lien !! je mourrais moins bête ce soir
__________________
_____________________________________________
Tours Football Club - Turonorum Civitas Libera
ledisciple est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h50.


 
 
 
 
Partenaires

Hébergement Web