Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Membres connectés récemment
Voir tous les membres

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

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

Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 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
Jackymi
Jackymi
MIlouzien regretté

http://www.skywebforum.com/

MessageJackymi 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 .
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 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

Jackymi
Jackymi
MIlouzien regretté

http://www.skywebforum.com/

MessageJackymi Dim 23 Sep 2018 - 13:16

Hello Philippe

Ok, pas de soucis clin oeil
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 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);
}
});});
}
Jackymi
Jackymi
MIlouzien regretté

http://www.skywebforum.com/

MessageJackymi Lun 24 Sep 2018 - 12:54

Hello Philippe

Tout fonctionne très bien clin oeil
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 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.
Jackymi
Jackymi
MIlouzien regretté

http://www.skywebforum.com/

MessageJackymi Lun 24 Sep 2018 - 18:43

Re Philippe

Je viens de ré essayer une nouvelle fois, l'envoi fonctionne aussi parfaitement . clin oeil
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 24 Sep 2018 - 19:22

Merci Jean hinhin

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

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

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