Pré-remplir le titre d'un nouveau sujet

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

Résolu Pré-remplir le titre d'un nouveau sujet

Message par alv le Jeu 1 Mai 2014 - 18:07

Bonjour,
Je chercher qui, lorsqu'on arrive sur la page de type /post?f=74&mode=newtopic, le titre du sujet soit déjà écrit par du javascript.
J'ai trouvé ceci (venant de ce sujet) :
Code:
$(function($){if(window.location.href.match(/.+\/post\?f=3&mode=newtopic)) $('input[name=subject]:first').each(function(){$(this)[0].value='{ USERNAME}'})});
que j'ai mis dans une feuille js du forum sur "toutes les pages" ({ USERNAME} sans l'espace).
Mais ça ne fonctionne pas.

J'aimerai que ça marche juste pour le sous-forum f3- et que le titre soit { USERNAME}

Comment faire ?
Merci d'avance.


Dernière édition par alv le Ven 2 Mai 2014 - 10:16, édité 1 fois

alv
# Tropactif #

Messages : 1096
Inscrit(e) le : 09/07/2012

http://urlz.fr/2OYC
alv a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Pré-remplir le titre d'un nouveau sujet

Message par Self le Jeu 1 Mai 2014 - 18:22

Bonjour,

Essayez plutôt ce script :
Code:
$(function($){if(location.pathname == '/post' && /^\?f=74&mode=newtopic$/.test(document.location.search)) $('input[name=subject]:first').each(function(){$(this)[0].value=_userdata.username;})});

Bonne soirée Wink .

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir le titre d'un nouveau sujet

Message par alv le Jeu 1 Mai 2014 - 19:18

Bonsoir,
Merci mais ça ne fonctionne pas.

alv
# Tropactif #

Messages : 1096
Inscrit(e) le : 09/07/2012

http://urlz.fr/2OYC
alv a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir le titre d'un nouveau sujet

Message par Self le Jeu 1 Mai 2014 - 19:25

Bonjour,

Je me suis trompé en mettant 74 ou lieu de 3 Smile .
Maintenant ça devrait être bon :
Code:
$(function($){if(location.pathname == '/post' && /^\?f=3&mode=newtopic$/.test(document.location.search)) $('input[name=subject]:first').each(function(){$(this)[0].value=_userdata.username;})});

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir le titre d'un nouveau sujet

Message par alv le Jeu 1 Mai 2014 - 19:33

J'avais remarqué l'erreur et je l'avais modifié de mon côté.

Je suis désolé, le problème venait de moi. Votre code marche parfaitement. Je suis entrain de modifier les templates de mon forum et j'étais sur l'url /post?f=3&tt=1&mode=newtopic
Alors, c'est sûr, ça ne pouvais pas marcher.

Dernière question : comment griser la case "titre du sujet" ?

alv
# Tropactif #

Messages : 1096
Inscrit(e) le : 09/07/2012

http://urlz.fr/2OYC
alv a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir le titre d'un nouveau sujet

Message par Self le Jeu 1 Mai 2014 - 20:02

Re,

Remplacer le script par celui-ci :
Code:
$(function($){if(location.pathname == '/post' && /^\?f=3&mode=newtopic$/.test(document.location.search)) $('input[name=subject]:first').each(function(){$(this)[0].value=_userdata.username;$(this).prop('disabled', true).css('background-color','#AAA');})});

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir le titre d'un nouveau sujet

Message par Ea le Jeu 1 Mai 2014 - 20:08

Bonjour,


Un élément html avec l'attribut <... disabled="disabled"> est ignoré lors de l'envoi du formulaire.

Je pense qu'il faudrait plutôt utiliser readonly ( ou bien laisser le disabled mais ajouter un champ doublon <input type="hidden" /> ).

Cordialement.

Ea
Aidactif
Aidactif

Messages : 23442
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir le titre d'un nouveau sujet

Message par Self le Jeu 1 Mai 2014 - 20:19

Effectivement c'est le cas, je n'avais pas testé l'envoi.
Readonly fonctionne Wink.
Prenez plutôt ce script donc Alv :
Code:
$(function($){if(location.pathname == '/post' && /^\?f=3&mode=newtopic$/.test(document.location.search)) $('input[name=subject]:first').each(function(){$(this)[0].value=_userdata.username;$(this).prop('readonly', true).css('background-color','#AAA');})});

Merci à Ea Smile.

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir le titre d'un nouveau sujet

Message par alv le Jeu 1 Mai 2014 - 20:24

Je suis désolé, je me suis mal expliqué.
Je souhaiterais que la case soit bloquée, que le membre ne puisse pas changer son contenu.

alv
# Tropactif #

Messages : 1096
Inscrit(e) le : 09/07/2012

http://urlz.fr/2OYC
alv a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir le titre d'un nouveau sujet

Message par Self le Jeu 1 Mai 2014 - 20:27

C'est le cas Wink
Cela ne fonctionne pas sur votre forum ?

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir le titre d'un nouveau sujet

Message par alv le Ven 2 Mai 2014 - 10:08

En fait si, c'était juste un problème d'apparence de la case.
J'ai modifié le code comme ceci :
Code:
$(function($){if(location.pathname == '/post' && /^\?f=3&mode=newtopic$/.test(document.location.search)) $('input[name=subject]:first').each(function(){$(this)[0].value=_userdata.username;$(this).prop('readonly', true).css('color','#A6A6A6');})});
Mais je voudrais aussi rajouter une ligne de CSS : cursor: default. Comment l'ajouter à ce code ?


Edit: j'ai essayé ceci et ça marche :
Code:
$(function($){if(location.pathname == '/post' && /^\?f=3&mode=newtopic$/.test(document.location.search)) $('input[name=subject]:first').each(function(){$(this)[0].value=_userdata.username;$(this).prop('readonly', true).css('color','#A6A6A6').css('cursor','default');})});

Merci à vous 2 pour votre aide.
résolu

alv
# Tropactif #

Messages : 1096
Inscrit(e) le : 09/07/2012

http://urlz.fr/2OYC
alv a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Pré-remplir le titre d'un nouveau sujet

Message par Ea le Ven 2 Mai 2014 - 10:47

Vous pouvez aussi mettre juste :

Code:
$(this).prop('readonly', true).addClass('disabled_input');

et ensuite ajouter le style que vous souhaitez par la feuille CSS ( PA > Affichage > Couleurs > Feuille de style ), pour votre exemple :

Code:
.disabled_input {
  color: #A6A6A6;
  cursor: default;
}

Ea
Aidactif
Aidactif

Messages : 23442
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

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


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