Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

[PHPBB3]Afficher un message mentionnant le reste de caractéres dans le titre du sujet

2 participants

Aller en bas

Icône par defaut [PHPBB3]Afficher un message mentionnant le reste de caractéres dans le titre du sujet

Message par Milouze14 Sam 22 Sep 2018 - 11:23

Hello les ami(e)s,


Ce script va compter la valeur minimale que tu as mentionné dans ton P.A(voir ci-dessous)
Le bouton "Envoyer" sera en relation avec la frappe du clavier ne sera pas cliquable et on lui donne une autre valeur(texte) et affichera un décompte.
Si tu as déterminé la valeur minimale à admettons 40 .
Le décompte s'effacera et tu verras apparaitre au dessus une autre ligne affichant un message à gauche et à droite le titre du sujet et enfin le bouton "Envoyer" sera cliquable



Il faut juste avoir au moins 2 caractères pour la valeur minimale ici:

Longueur du titre d'un sujet mettre au minimum 10

Général/Messages et Emails/Configuration/Sujets


Longueur du titre d'un sujet : Valeur minimum 10


Modules/HTML JAVASCRIPT/Gestion des codes JavascriptCréer un nouveau javascript


Mets un titre explicite.
Coches sur toutes les pages.


Déposes ceci:
Code:

$(function(){
if(document.title=="Editer le sujet"){
  $(function(){$('.M14_PostLength').remove();});}
// TEXTE DU BOUTON ENVOYER EN ATTENTE
var M14_textInput='En attente';
$('input[name="post"][type="submit"]').val(M14_textInput).attr('disabled', true);
var input=$('input[name="post"][type="submit"]');
$('input[name="subject"]').each(function(){
var $this=$(this);
var a=$(this).attr('title');
var regexp=/\d\d/;
var max=(regexp.exec(a));
var maxlength=(regexp.exec(a));
$(this).closest('dl').before('<dl class="M14_PostLength"style="display:none;"><dt><label>Vous pouvez poster votre sujet</label></dt><dd><label><b>Votre Titre:</b></label><span class="M14_titre"><b></b></span></dd></dl>');
$(this).closest('dl').find('dt:first label').after('<label id="M14_compt"style="color:red;cursor:pointer;"></label>');

$(this).keyup(function(){$('.M14_titre b').text($this.val());
var length=$($this).val().length;
var total=maxlength-length;
$('#M14_compt').text(' ( '+total+' ) ') ;
if($this.val().length==max)
{
$('#M14_compt').fadeOut();
$('.M14_PostLength').fadeIn();


input.val('Envoyer').attr('disabled', false);
}
if($this.val().length<max)
{
$('#M14_compt').fadeIn();
$('.M14_PostLength').fadeOut();
$('#M14_compt').attr('title','Nombre de caractère(s) manquant(s) '+total+'').css('color','red');
input.val(M14_textInput).attr('disabled', true);
}

});

});});




Penser a enregistrer puis à valider en cliquant respectivement sur   Enregistr puis Ajout


Dernière édition par Milouze14 le Mer 1 Déc 2021 - 4:20, édité 3 fois
Milouze14
Milouze14
Fondateur



https://www.milouze14.com

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB3]Afficher un message mentionnant le reste de caractéres dans le titre du sujet

Message par Jackymi Dim 23 Sep 2018 - 9:48

Hello Philippe

J'ai toujours le bouton " en attente " qui s'affiche, que je mette un minimum de 10 ou de 2 . schut 
Par contre , le chiffre qui s'affiche en rouge à gauche du titre,  ne semble pas correspondre non plus .
Jackymi
Jackymi
Membre regretté



http://www.skywebforum.com/

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB3]Afficher un message mentionnant le reste de caractéres dans le titre du sujet

Message par Milouze14 Dim 23 Sep 2018 - 11:21

Hello Jean,
oui comme Stéphane sur la version phpbb2:
https://www.milouze14.com/t31677-phpbb2afficher-un-message-mentionnant-le-reste-de-caracteres-dans-le-titre-du-sujet#602183

Le script n'est pas totalement opérationnel clin oeil même après la modification apportée.
Je reviendrais vers vous, une fois qu'il sera vraiment fonctionnel en tenant compte des commentaires apportés clin oeil

Milouze14
Milouze14
Fondateur



https://www.milouze14.com

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB3]Afficher un message mentionnant le reste de caractéres dans le titre du sujet

Message par Jackymi Dim 23 Sep 2018 - 13:16

Hello Philippe

Ok, pas de soucis clin oeil
Jackymi
Jackymi
Membre regretté



http://www.skywebforum.com/

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB3]Afficher un message mentionnant le reste de caractéres dans le titre du sujet

Message par Milouze14 Lun 24 Sep 2018 - 8:57

Hello Jean,

alors , j'ai quelque peu modifié le script:
Ce dernier ne sera actif seulement que sur la création de sujet.
Il trouvera automatiquement le nombre minimal de caractère.
Il mettra automatiquement la première lettre du titre en majuscule.

Code:
if(document.title=="Poster un nouveau sujet"){

$(function(){
//Le libellé du bouton envoyé modifié
var M14_textInput='En attente';
//L'information à gauche
var M14_info='Information:';
//Le titre à droite
var M14_titre='Vous pouvez poster votre sujet, le titre: '; 
var input=$('input[name="post"][type="submit"]');
$('[name="subject"]').each(function(){
var a=$(this).attr('title');
var regexp=/\d+/;
var max=(regexp.exec(a));
var $this=$(this);
var M14_val=$(this).val().length;
var total=max-M14_val;
var txt= $(this).val();
$($this).val(txt.replace(/^(.)|\s(.)/g, function($1){ return $1.toUpperCase( ); }));
$($this).closest('dl').before('<dl class="M14_PostLength"style="display:none;"><dt><label>'+M14_info+'</label></dt><dd><label><b>'+M14_titre+'</b></label><span class="M14_titre"><b></b></span></dd></dl>');
$($this).closest('dl').find('dt:first label').after('<br /><label id="M14_compt"style="color:red;cursor:pointer;"></label>');
$('.M14_titre b').text($this.val());
$('#M14_compt').text(' ( '+total+' ) ') ;
if($this.val().length==max){$('#M14_compt').hide();}
else if($this.val().length!=max){$('#M14_compt').show().attr('title','Reste  ( '+total+' ) caractére(s)');}
$(this).keyup(function(){
var text= $(this).val();
$($this).val(text.replace(/^(.)|\s(.)/g, function($1){ return $1.toUpperCase( ); }));
var b=$('[name="subject"]').val().length; 
var totalKey=max-b;
$('#M14_compt').text(' ( '+totalKey+' ) ') ;
$('.M14_titre b').text($this.val());
if($this.val().length>=max)
{
input.val('Envoyer').attr('disabled', false); 
$('.M14_PostLength').show();$('#M14_compt').hide();
}
else if($this.val().length<max)
{
input.val(M14_textInput).attr('disabled', true);
$('.M14_PostLength').hide();
$('#M14_compt').show().attr('title','Reste  ( '+totalKey+' ) caractére(s)');
}
});

if($this.val().length<max)
{
input.val(M14_textInput).attr('disabled', true);
$('#M14_compt').show();
}
if($this.val().length>=max)
{
$('.M14_PostLength').show();
$('#M14_compt').hide();
input.val('Envoyer').attr('disabled', false);
}
});});
}
Milouze14
Milouze14
Fondateur



https://www.milouze14.com

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB3]Afficher un message mentionnant le reste de caractéres dans le titre du sujet

Message par Jackymi Lun 24 Sep 2018 - 12:54

Hello Philippe

Tout fonctionne très bien clin oeil
Jackymi
Jackymi
Membre regretté



http://www.skywebforum.com/

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB3]Afficher un message mentionnant le reste de caractéres dans le titre du sujet

Message par Milouze14 Lun 24 Sep 2018 - 15:52

Hello Jean,
tu n'as pas de soucis pour envoyer le sujet ?
Stéphane m'ayant informé de ce problème.
Milouze14
Milouze14
Fondateur



https://www.milouze14.com

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB3]Afficher un message mentionnant le reste de caractéres dans le titre du sujet

Message par Jackymi Lun 24 Sep 2018 - 18:43

Re Philippe

Je viens de ré essayer une nouvelle fois, l'envoi fonctionne aussi parfaitement . clin oeil
Jackymi
Jackymi
Membre regretté



http://www.skywebforum.com/

Revenir en haut Aller en bas

Icône par defaut Re: [PHPBB3]Afficher un message mentionnant le reste de caractéres dans le titre du sujet

Message par Milouze14 Lun 24 Sep 2018 - 19:22

Merci Jean hinhin
Milouze14
Milouze14
Fondateur



https://www.milouze14.com

Revenir en haut Aller en bas

Revenir en haut


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