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

JavaScript Discussion :

Injecter une ligne devant ou dans un formulaire


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 243
    Points : 65
    Points
    65
    Par défaut Injecter une ligne devant ou dans un formulaire
    Bonjour
    Je souhaiterais injecter une ligne HTML du genre :
    "Saisissez une nouvelle localisation url..."
    entre* le champ "lieux" et la carte (ou peut-être au-dessus même si cela me semble avoir moins de sens ) dans l'onglet Lieu (qui sont liés dans l'extension du développeur )
    jtest-ext.88h.ovh/index.php?option=com_dpcalendar&view=form&Itemid=165
    @+

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 670
    Points
    44 670
    Par défaut
    Bonjour,
    j'ai déplacé vers le forum JavaScript car je suppose que tu n'as pas accès au HTML sinon la demande serait « farfelue » !

    Cela pourrait se traduire par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // récup. élément de référence
    const elRef = document.querySelector(".control-group.dp-field-location-ids");
    // création élément à ajouter, par exemple
    const newElement = document.createElement("DIV");
    newElement.textContent = "Saisissez une nouvelle localisation url..." ;
    // insertion en dessous
    elRef.after(newElement);
    // insertion au dessus
    elRef.before(newElement);

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 243
    Points : 65
    Points
    65
    Par défaut
    Bonjour
    Effectivement, c'est du code HTML généré par joomla.

    J'ai inséré le code mais je ne vois pas d'effet même si cela a bien l'air d'être intégré dans le fichier
    https://jtest-ext.88h.ovh/media/templates/site/cassiopeia_jtestext/js/user.js?fb535b

    Initialement je pensai que c'était possible avec du CSS ~ comme ceci mais qui ne fonctionne pas !
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #jform_location_ids-lbl ::after {
      content: '[ content2 ]';
    }

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 670
    Points
    44 670
    Par défaut
    J'ai inséré le code mais je ne vois pas d'effet même si cela a bien l'air d'être intégré dans le fichier
    suivant la positon d'intégration du script il peut être nécessaire d'insérer celui-ci dans un document.addEventListener("DOMContentLoaded", soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    document.addEventListener("DOMContentLoaded", () => {
      // récup. élément de référence
      const elRef = document.querySelector(".control-group.dp-field-location-ids");
      // création élément à ajouter, par exemple
      const newElement = document.createElement("DIV");
      newElement.textContent = "Saisissez une nouvelle localisation url..." ;
      // insertion en dessous
      elRef.after(newElement);
      // insertion au dessus
      elRef.before(newElement);
    });
    si c'est uniquement pour ajouter du texte sans plus de valeur ajoutée tu peux effectivement le faire en CSS via :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    .com-dpcalendar-eventform .dp-control, .com-dpcalendar-eventform .control-group {
      display: flex;
      margin-bottom: 5px;
      flex-wrap: wrap;    /* pour passage à la ligne */
    }
    /*  ajout avant l'élément */
    .control-group.dp-field-location-ids:before {
      content: "Saisissez une nouvelle localisation url...";
      width: 100%;
    }
    /*  ajout à la suite */
    .control-group.dp-field-location-ids:after {
      content: "Saisissez une nouvelle localisation url...";
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 243
    Points : 65
    Points
    65
    Par défaut
    Merci pour ces 2 possibilités
    Cela fonctionne. Néanmoins ce que je souhaitais c'est d'utiliser l'attribut de lien ahref pour que l'internaute ouvre directement le formulaire de création de lieu.
    hors j'ai l'impression que le HTML n'est pas pris en compte. On voit le retour avec les balises <b> ..

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 670
    Points
    44 670
    Par défaut
    hors j'ai l'impression que le HTML n'est pas pris en compte. On voit le retour avec les balises <b> ..
    effectivement j'avais prévenu que c'était pour du texte seulement. Donc oublie le CSS !

    Si tu veux ajouter du HTML il te faut, par exemple, passer JavaScript et la propriété innerHTML à la place de textContent.
    remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newElement.textContent = "Saisissez une nouvelle localisation url..." ;
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newElement.innerHTML = 'Lieu <b>correspondant</b> vers <a href="https://jtest-ext.88h.ovh/">lien formulaire</a>' ;

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 243
    Points : 65
    Points
    65
    Par défaut
    Bonsoir

    Parfait, celà fonctionne Encore un truc que je n'aurai probablement pas trouvé tout seul
    Merci encore

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/07/2015, 17h22
  2. Ajout d'une ligne d'enregistrement dans un formulaire
    Par bahak dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 21/09/2014, 12h10
  3. Réponses: 13
    Dernier message: 02/02/2010, 12h02
  4. Colorer une ligne sur 2 dans un formulaire
    Par isabelle b dans le forum IHM
    Réponses: 15
    Dernier message: 16/07/2008, 19h34

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