Pré-remplir la description d'un sujet (Javascript)

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Pré-remplir la description d'un sujet (Javascript)

Message par long way home Lun 5 Sep 2022 - 18:47

Détails techniques


Version du forum : phpBB2
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome, Safari
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : http://peoplealwaysleave.forumactif.com/

Description du problème

Bonjour à tous,

J'aimerais utiliser un JS (ou autre si vous avez une autre solution) afin qu'à la création d'un nouveau sujet dans la partie des fiches de présentation, le champ "description" sous le titre soit pré-rempli par "tw : écrire ici les sujets abordés qui pourraient heurter la sensibilité des lecteurs."

J'ai cherché, fouiné via la recherche avancée, et j'ai essayé la solution proposée dans ce sujet mais qui ne semble pas fonctionner sur la forum (peut-être parce que je suis en phppb2 de mon côté). J'ai tenté :

Code:
if(document.location.pathname=="/post" && /^\?f=[7]&mode=newtopic$/.test(document.location.search))
{
$(function(){
$('textarea:first').append('tw : écrire ici les sujets abordés qui pourraient heurter la sensibilité des lecteurs.\n');
});
}

ainsi que :

Code:
if(document.location.pathname=="/post" && /^\?f=[7]&mode=newtopic$/.test(document.location.search))
    {
    $(function(){
    $('textarea:nth-child(1)').append('tw : écrire ici les sujets abordés qui pourraient heurter la sensibilité des lecteurs.\n');
    });
    }

Je précise que j'avais bien coché "sur toutes les pages" dans le JS.

Je vous mets également mon template de l'affichage de la liste des sujets si jamais quelque chose pouvait bloquer là-dedans.

Code:
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Quicksand:wght@300&display=swap" rel="stylesheet">
  <!-- BEGIN topics_list_box --><!-- BEGIN row --><!-- BEGIN header_table --><!-- BEGIN multi_selection -->
<script type="text/javascript">
function check_uncheck_main_{topics_list_box.row.header_table.BOX_ID}() {
   var all_checked = true;
   for (i = 0; (i < document.{topics_list_box.FORMNAME}.elements.length) && all_checked; i++) {
      if (document.{topics_list_box.FORMNAME}.elements[i].name == '{topics_list_box.FIELDNAME}[]{topics_list_box.row.header_table.BOX_ID}') {
         all_checked = document.{topics_list_box.FORMNAME}.elements[i].checked;
      }
   }
   document.{topics_list_box.FORMNAME}.all_mark_{topics_list_box.row.header_table.BOX_ID}.checked = all_checked;
}
function check_uncheck_all_{topics_list_box.row.header_table.BOX_ID}() {
   for (i = 0; i < document.{topics_list_box.FORMNAME}.length; i++) {
      if (document.{topics_list_box.FORMNAME}.elements[i].name == '{topics_list_box.FIELDNAME}[]{topics_list_box.row.header_table.BOX_ID}') {
         document.{topics_list_box.FORMNAME}.elements[i].checked = document.{topics_list_box.FORMNAME}.all_mark_{topics_list_box.row.header_table.BOX_ID}.checked;
      }
   }
}
</script>
<!-- END multi_selection -->

<table class="forumline" width="100%" border="0" cellspacing="1" cellpadding="0">
   <!-- BEGIN pagination -->
   <tr>
      <td class="row1" colspan="7" align="right"><span class="gensmall">{PAGINATION}</span></td>
   </tr>
   <!-- END pagination -->
   <!-- END header_table --><!-- BEGIN header_row -->
   <tr>
      <td class="row3" colspan="{topics_list_box.row.COLSPAN}"><span class="gensmall">&nbsp;<b>{topics_list_box.row.L_TITLE}</b></span></td>
  </tr></table>
<!-- END header_row -->

<!-- BEGIN topic -->
{topics_list_box.row.END_TABLE_STICKY}
  <table class="fondliste" width="100%" height="60px"><tr><td><img title="{topics_list_box.row.L_TOPIC_FOLDER_ALT}" src="{topics_list_box.row.TOPIC_FOLDER_IMG}" alt="{topics_list_box.row.L_TOPIC_FOLDER_ALT}"/></td>
    <td width="510px" valign="center"><table class="blocsujet"><tr> {topics_list_box.row.NEWEST_POST_IMG}{topics_list_box.row.PARTICIPATE_POST_IMG}&nbsp;<type>{topics_list_box.row.TOPIC_TYPE}</type>&nbsp;<span class="blocsuj" valign="center"><a class="topictit" href="{topics_list_box.row.U_VIEW_TOPIC}">{topics_list_box.row.TOPIC_TITLE}</a></span></tr>
      <tr><!-- BEGIN switch_description --><div><mdesc>{topics_list_box.row.topic.switch_description.TOPIC_DESCRIPTION}</mdesc></div> <!-- END switch_description --></tr>
      <tr><div><m8>rédigé par </m8> <span class="name">{topics_list_box.row.TOPIC_AUTHOR}</span></div></tr></table>
      </td>
    <td width="180px" align="center"><span class="details">{topics_list_box.row.LAST_POST_TIME}<br />par {topics_list_box.row.LAST_POST_AUTHOR} {topics_list_box.row.LAST_POST_IMG}</span><br /><mini>{topics_list_box.row.GOTO_PAGE}</mini><div><stat1>{topics_list_box.row.REPLIES} réponses</stat1> <stat2>{topics_list_box.row.VIEWS} vues</stat2></div></td>
    <td width="60px" align="center" ><!-- BEGIN avatar --> <span class="avatarsujets" align="right">{topics_list_box.row.topic.avatar.LAST_POST_AVATAR}</span><!-- END avatar --></td>
    </tr></table>
  <table>
      
   <!-- END topic --><!-- BEGIN no_topics -->
   <tr>
      <td class="row1" colspan="{topics_list_box.row.COLSPAN}" align="center" valign="middle" height="30"><span class="gen">{topics_list_box.row.L_NO_TOPICS}</span></td>
   </tr>
   <!-- END no_topics --><!-- BEGIN bottom -->
   <tr>
      <td class="catBottom" colspan="{topics_list_box.row.COLSPAN}" valign="middle">
         <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
               <td>&nbsp;<span class="gensmall">{PAGINATION}</span></td>
               <td align="right"><a href="#top">{L_BACK_TO_TOP}</a>&nbsp;</td>
            </tr>
         </table>
      </td>
   </tr>
<!-- END bottom --><!-- BEGIN footer_table -->
</table><!-- END footer_table --><!-- BEGIN spacer --><br class="gensmall" /><!-- END spacer --><!-- END row --><!-- END topics_list_box -->

Je vous remercie pour le temps et l'énergie consacrés à ma demande. N'hésitez pas à me dire s'il vous manque des éléments.

Bonne journée,
avatar

long way home
**

Féminin
Messages : 51
Inscrit(e) le : 23/10/2014

http://peoplealwaysleave.forumactif.com/
long way home a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Pré-remplir la description d'un sujet (Javascript)

Message par Toryudo Mer 7 Sep 2022 - 20:44

Bonjour !
En fait, le champ "description" n'est pas un textarea, mais un input.
Il n'a pas d'id spécifique, donc on va pouvoir le sélectionner avec son name comme ceci :

Code:
$(function(){
   if ((document.location.pathname == '/post') && document.location.search.includes('f=7&mode=newtopic')) {
      $('input[name="description"]').val('tw : écrire ici les sujets abordés qui pourraient heurter la sensibilité des lecteurs.');
   }
});

(j'en ai profité pour réécrire le if pour qu'il soit plus simple à comprendre)
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1392
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir la description d'un sujet (Javascript)

Message par long way home Mer 7 Sep 2022 - 20:57

Bonjour @Toryudo, je te remercie beaucoup pour ta réponse. Je viens de tester le JS mais ça ne fonctionne malheuresement pas, je n'ai rien de pré-rempli dans la description lorsque je crée un nouveau post. Snifff
avatar

long way home
**

Féminin
Messages : 51
Inscrit(e) le : 23/10/2014

http://peoplealwaysleave.forumactif.com/
long way home a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Pré-remplir la description d'un sujet (Javascript)

Message par Toryudo Mer 7 Sep 2022 - 21:11

Alors, dans un autre script, je vois que ces lignes posent problème :

Code:
(function() {
    new Switcheroo('#switcheroo', {
        logo: '',
        confirm: true,
        confirmMsg: 'Confirmer le Switcheroo de personnage ?',
        explore: false,
        exploreIcon: '<i class="material-icons">group</i>',
        deleteIcon: '×',
        addIcon: '+',
        errorMsg: 'Une erreur est surviendue lors du Switcheroo.',
    })
})();

Il y a un message d'erreur, mais si Switcheroo fonctionne quand même, c'est parce que je vois également ces quelques lignes dans un Template.
Du coup, si ces lignes sont dans un script tout seul, est-ce que vous pourriez le désactiver ?
Sinon, supprimez ces lignes, elles ne fonctionnent de toute façon pas.
Ça devrait débloquer notre script premier !

Sinon, vous pouvez aussi tenter de mettre le Script "Sur les sujets" uniquement, je pense que ça devrait pouvoir marcher.
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1392
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir la description d'un sujet (Javascript)

Message par long way home Mer 7 Sep 2022 - 21:23

Ouiiiii c'était en effet ce qui bloquait, merci beaucoup ! Ca fonctionne à merveille, et pardon pour le tutoiement plus tôt (je vois que vous me vouvoyez Arrow)

C'est parfait, encore un grand merci pour le temps consacré à ma demande et les explications qui vont avec ok
avatar

long way home
**

Féminin
Messages : 51
Inscrit(e) le : 23/10/2014

http://peoplealwaysleave.forumactif.com/
long way home a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum