IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

balise img dans du javascript [W3C]


Sujet :

HTML

  1. #1
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ... )

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

    Merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    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.

  3. #3
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut
    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

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 350
    Points
    16 350
    Par défaut
    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.

  5. #5
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut
    Pardon je me suis trompé

    Je teste mon formulaire côté serveur et je mets dans un tableau $erreur, du javascript.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 350
    Points
    16 350
    Par défaut
    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

  7. #7
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut
    merci pour le lien !! je mourrais moins bête ce soir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Récupérer une balise <img> dans un article depuis une table MySQL
    Par GeDeon35 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 22/09/2011, 15h20
  2. quelle sont les balises utilisent dans le javascript de débutant ?
    Par oussamadag dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/01/2010, 21h49
  3. ALT sur balise IMG dans firefox
    Par Hisander dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/09/2007, 12h34
  4. [XML][PHP]Extraire balise img dans une balise xml
    Par thierry232323 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/10/2006, 13h25
  5. balise <img> dans un tableau avec firefox
    Par yannock dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 25/10/2004, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo