cs_biloute54
Messages postés19Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention30 octobre 2010
-
10 déc. 2009 à 15:45
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
13 déc. 2009 à 15:17
Bonjour à tous,
Je souhaiterais modifier un script de la manière suivante :
dans ce script il y a un menu déroulant pour faire un choix et en cliquant dessus on lance le déroulement du script, je souhaiterais supprimer ce menu déroulant et mettre à la place un bouton car je voudrais utiliser ce script que avec un unique choix.
je précise que je débute seulement en java script et que j'ai l'autorisation de l'auteur pour modifier ce script à volonté
Merci à toute les âmes charitables qui pourrait m'aider.
<script type="text/javascript">
var arcanis_msglock = new Object();
arcanis_msglock.agrave = unescape('%E0');
arcanis_msglock.cfg = new Object();
arcanis_msglock.cfg.header = "Le message qui suit est une réponse automatique activée par un modérateur.\nLes réponses automatiques permettent d'éviter aux modérateurs d'avoir "+arcanis_msglock.agrave+" répéter de nombreuses fois la même chose, et donc de leur faire gagner beaucoup de temps.\nNous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas "+arcanis_msglock.agrave+" contacter le modérateur en question par MP.";
arcanis_msglock.cfg.footer = "\n\n\n[align=right]— L'équipe de modération —/align";
arcanis_msglock.getXhr = function() {
var result = false;
if (window.XMLHttpRequest) {
result = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
result = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
result = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return result;
}
arcanis_msglock.getbody = function(content) {
test = content.toLowerCase();
var x = test.indexOf("", x);
if(x == -1) return "";
var y = test.lastIndexOf("");
if(y -1) y test.lastIndexOf("</html>");
if(y -1) y content.length;
return content.slice(x + 1, y);
}
arcanis_msglock.post = function(titre, message) {
var url = ('{U_POST_REPLY_TOPIC}').replace('&','&');
var xhr = arcanis_msglock.getXhr();
xhr.open('GET', url, false);
xhr.send(null);
var content = xhr.responseText;
delete xhr;
// Récupération du formulaire correct
document.getElementById('arcanis_msglock').innerHTML = arcanis_msglock.getbody(content);
var forms = document.getElementById('arcanis_msglock').getElementsByTagName('form');
for(var t=0; t<forms.length; t++) {
if(forms[t].action.match('posting.php')) {
var form = forms[t];
break;
}
}
// Récupération des champs de formulaire
var request = new Object();
for(var t=0; t<form.elements.length; t++) {
var name = form.elements[t].name;
if(name!=='') {
if(form.elements[t].nodeName.toLowerCase()=='input') {
if(form.elements[t].type.toLowerCase()=='radio' || form.elements[t].type.toLowerCase()=='checkbox') {
if(!form.elements[t].checked) continue;
}
}
if(name.match(/^m[0-9]+$/)) var content = name;
request[name] = form.elements[t].value;
}
}
// Suppression de la prévisualisation (sinon: gros bug)
delete request.preview;
// Modification du contenu du message afin d'y insérer un message personnalisé
request.subject = titre;
request[content] = arcanis_msglock.cfg.header + "\n\n" + titre + "\n" + message + arcanis_msglock.cfg.footer;
// Reformation de la chaine à envoyer
var querystring = new Array();
for(var tmp in request) {
querystring.push(tmp + '=' + encodeURIComponent( request[tmp] ) );
}
querystring = querystring.join('&');
// Envoi de la requête
var xhr = arcanis_msglock.getXhr();
xhr.open('POST', form.action, false);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send( querystring );
alert('Le modèle a été appliqué.\nAppuyez sur OK pour continuer.');
document.location.reload();
}
arcanis_msglock.init = function() {
if(document.getElementById('arcanis_msglockdisplay')) {
var table = document.createElement('table');
var tbody = document.createElement('tbody');
var row = document.createElement('tr');
var cell = document.createElement('td');
var list = document.createElement('select');
var def = document.createElement('option');
def.value = '---';
def.appendChild(document.createTextNode('sélectionnez un modèle'));
list.appendChild(def);
for(var tmp in arcanis_msglock.texts) {
var option = document.createElement('option');
option.value = tmp;
option.appendChild(document.createTextNode(arcanis_msglock.texts[tmp].titre));
list.appendChild(option);
}
list.onchange = function() {
var content = arcanis_msglock.texts[this.value].description;
if(arcanis_msglock.texts[this.value].ask) {
var tmp = prompt(arcanis_msglock.texts[this.value].ask);
if(!tmp) return;
content = content.replace('%ARG%', tmp);
}
arcanis_msglock.post(arcanis_msglock.texts[this.value].titre, content);
}
cell.appendChild(document.createTextNode('Modération semi-automatique:'));
cell.appendChild(list);
cell.style.fontSize = '11px';
cell.className = 'row1';
row.appendChild(cell);
tbody.appendChild(row);
table.appendChild(tbody);
table.style.width = '100%';
table.style.padding = '2px';
table.style.border = '1px solid #000';
document.getElementById('arcanis_msglockdisplay').appendChild(table);
} else {
setTimeout(arcanis_msglock.init, 1);
}
}
setTimeout(function() {
arcanis_msglock.texts = new Object();
/**MODIFIEZ LES LIGNES CI-DESSOUS**/
arcanis_msglock.texts['horsCharte'] = {titre:'Message Hors-Charte',description:'Ce topic étant contraire au contenu de la charte régissant ce forum, nous nous voyons contraint de le fermer.\nRaison précise: %ARG%',ask:'Indiquez la raison précise de la fermeture de ce message:'};
/**STOP, FAUT PLUS TOUCHER !**/
arcanis_msglock.init();
},1);
</script>