Modification dyanamique des paramètres d'une fonction d'un [x]html tag en javascript

Soyez le premier à donner votre avis sur cette source.

Vue 3 600 fois - Téléchargée 184 fois

Description

Fonction utilitaire Permettant d'extraire les arguments de l'attribut[onClick, onchange] d'un tag (X)HTML.

Elle peut avoir pour utilité de changer dynamiquement les paramèetres de l'attribut[onClick, onchange] du TAG
comme suit: mon_input.setAttribute("[onClick, onchange]", "ma_fonction('"+ param_1 + "',...,'"+ param_n +"')");
Où param_1 = function_arg[0]
param_x = function_arg[x-1]
param_n = function_arg[n-1]

Source / Exemple :


/**getFunctionArgument.
 *

  • Fonction utilitaire Permettant d'extraire les arguments de l'attribut des fonctions [onClick, onchange]
  • d'un tag (X)HTML.
  • Elle peut avoir pour utilité de changer dynamiquement les attributs de la fonction [onClick, onchange] du TAG
  • comme suit: mon_input.setAttribute("[onClick, onchange]", "ma_fonction('"+ param_1 + "',...,'"+ param_n +"')");
  • Où param_1 = function_arg[0]
  • param_x = function_arg[x-1]
  • param_n = function_arg[n-1]
*
  • @author: Marcel Tawé
  • @param: elementId (unknown), l'identifiant de l'élément
  • @param: function_name (String) , le nom de la fonction dont on veut les attributs
  • @return: function_arg (array) , les arguments de la fonction
  • @version: 1.0.0
    • /
function getFunctionArgument(elementId, function_name){ //var JQfonction = $("#elementId").attr(""+function_name+""); var input = document.getElementById("" +elementId+ ""); //1. extraire le texte passé à l'attribut 'function_name' var DOMfonction = input.getAttribute(""+function_name+ ""); //2. indice de la paranthèse ouvrante var l_para = DOMfonction.indexOf("("); //3. indice de la paranthèse dermante var r_para = DOMfonction.indexOf(")"); //4. soustraire les arguments de la fonction en question var DOMfonctionArgs = DOMfonction.substring(l_para +1, r_para); //5. séparer les arguments et les stocker dans un array var function_arg = DOMfonctionArgs.split(","); /* Test ..juste pour imprimer le contenu du vecteur sous forme de string..... à enlever...pour votre realease version... function_arg = function_arg.toString(); var text_message =" getFunctionArgument()...function_arg == "+ function_arg; alert(text_message);
  • /
//6. valeur de retour return function_arg; }

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
647
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
6
si tu veux ramener l'image d'origine :

En supposément que l'image a comme ID img
Messages postés
25
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
27 août 2012

Effectivement, j'avais essayé et ça marche bien, sauf que l'image est remplacée, donc l'internaute s'en rend compte et ne télécharge pas.
Mais j'ai tout mon temps et je pense que je ne serais pas le seul à utiliser cette possibilité que je recherche.
Merci à tous.
Messages postés
7
Date d'inscription
jeudi 9 avril 2009
Statut
Membre
Dernière intervention
1 novembre 2010

Salut Alain04,

Juste pour te dire que le passe-passe de JDMCREATOR marche bien. Sauf qu'il remplace in situ l'image protégée par l'image sur lequel tu rediriges l'internaute. Il faut donc raffraîchir la page pour avoir l'image d'origine.

Je voulais juste t'en informer, juste au cas ou ton travail serait pressé.

Je vais continuer pour faire très exactement ce que tu veux.

Thanks JMDCreator.
Messages postés
7
Date d'inscription
jeudi 9 avril 2009
Statut
Membre
Dernière intervention
1 novembre 2010

TO Alain04:
Ok, je vais essayer d'y travailler cette fin de semaine.:-(...ca fait long je sais, mais c'est parceque j'ai bcp de TAF :-(

Je commencerai par explorer la piste de JMDCREATOR.De prime abords, celà semble intéressant.

Je te reviendrai dessus. However, si tu trouves une autre solution entre temps, laisse moi savoir.
Messages postés
647
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
6
Non, du moins pas en javascript.

Ce qui pourrait s'en approcher le plus serait :
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.