IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Erreur Script JS : Appel de fonction


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2019
    Messages : 3
    Par défaut Erreur Script JS : Appel de fonction
    Bonjour,

    Je suis débutant sur la programmation JavaScript.
    J'ai récupéré un formulaire web fait sur un site (123formBuild), sur lequel j'ai fait script js pour remplacer les caractères accentués.
    Le script fonctionne bien sur un champ, mais je veux le faire fonctionner sur plusieurs champs du formulaire.

    Du coup, j'essaie de faire des appels entre les fonctions "Fonction" et "MajusculeSansAccent", mais je n'arrive pas.

    Pourriez-vous m'aider, m'orienter ? car je sèche (ci-dessous le script JS appelé par le formulaire web)

    Merci.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    window.onchange = Fonction;
     
    function Fonction(){ 
         MajusculeSansAccent(55074650); //DataId du champ Prénom
         MajusculeSansAccent(55074688); //DataId du champ Nom
    }
     
    function MajusculeSansAccent(ChampId){ 
        var Prenom=loader.engine.document.getElementById(ChampId).getProperty('value.value');
        var regCarSpec = new RegExp('[\'\\[\\]~<>&#@!|_%*+;.{}()=:/,`"^°$\\\\-]', 'gi');
        var defaultDiacriticsRemovalap = [
            {'base':' ','letters':'\u00B2\u00A7\u00AB\u00BB\u0093\u0094\u00A3\u00A4\u00B5\u00B0\u00BA'}, // Caractères ²§«»¤£µ°º remplacés par un espace    
            {'base':'A', 'letters':'\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F'},
        ];
     
        var diacriticsMap = {};
        for (var i=0; i < defaultDiacriticsRemovalap.length; i++){
            var letters = defaultDiacriticsRemovalap[i].letters;
            for (var j=0; j < letters.length ; j++){
                diacriticsMap[letters[j]] = defaultDiacriticsRemovalap[i].base;
            }
        }
     
            Valeur=Valeur.replace(/[^\u0000-\u007E]/g, function(a){  return diacriticsMap[a] || a; });
            Valeur=Valeur.replace(regCarSpec, ' ');
        	loader.engine.document.getElementById(ChampId).setValue(({"value": Valeur.toUpperCase()}));
    }

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Bonjour!

    Peux-tu préciser ce que tu autorises comme caractère dans les champs et ce que tu convertis? (de bon matin, j'ai la flemme de tout décrypter...);

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2019
    Messages : 3
    Par défaut
    Citation Envoyé par javatwister Voir le message
    Bonjour!

    Peux-tu préciser ce que tu autorises comme caractère dans les champs et ce que tu convertis? (de bon matin, j'ai la flemme de tout décrypter...);
    Bonjour,

    Le Script de la fonction MajusculeSansAccent fonctionne bien lorsque je teste que sur un champ. Son but est de retirer les caractères accentués/spéciaux et mettre tout en majuscule (je n'ai pas mis tout le script pour faire simple):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function MajusculeSansAccent(){ 
     
    var Valeur=loader.engine.document.getElementById(55074650).getProperty('value.value'); // dataId Prénom
     
    var regCarSpec = new RegExp('[\'\\[\\]~<>&#@!|_%*+;.{}()=:/,`"^°$\\\\-]', 'gi');
    ...
    Cependant j'ai besoin d'appliquer cette fonction sur 2 champs (Prénom et Nom), donc j'ai rajouté cette fonction qui ne fonctionne pas. Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function Fonction(){ 
         MajusculeSansAccent(55074650); //DataId du champ Prénom
         MajusculeSansAccent(55074688); //DataId du champ Nom
    }
     
    function MajusculeSansAccent(ChampId){ 
        var Prenom=loader.engine.document.getElementById(ChampId).getProperty('value.value');

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2019
    Messages : 3
    Par défaut
    Bonjour,

    J'ai réussi à trouver mon erreur (finalement erreur dans la fonction).

    Bonne journée.

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Bravo;
    Alternative, peut-être un peu plus lisible, si tu as le temps; (tu conserves uniquement le tiret bas);

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    function go(ev){
    	const f=ev.target.form.elements;
    	const car = {a:"àáâãäå", e:"èéêë", i:"ìíîï", o:"òóôõöø", u:"ùúûü", y:"ÿ", c: "ç", n:"ñ"};
    	const reg = /[àáâãäåèéêëçìíîïòóôõöøùúûüÿñ]/gi;
     
    	for(let j=0;j<f.length;j++){
    		let correct=f[j].value;
    		correct=correct.replace(reg,
    		function(t){
    			for(k in car){
    				if(car[k].indexOf(t)>-1){
    					return k
    				}
    			}
    		}
    		).toUpperCase().replace(/\W/g," ");
    		f[j].value=correct;
    	}
    }
     
    document.getElementById("check").addEventListener("click",(e)=> {go(e);e.preventDefault()});

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form id="frm">
    <div>
    	<input type="text" id="nom" name=" nom" />
    	<input type="text" id="prenom" name="prenom" />
    	<button id="check">vérif</button>
    </div>
    </form>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur OnCalcField avec appel de fonction
    Par masterdash dans le forum Débuter
    Réponses: 5
    Dernier message: 08/06/2018, 20h19
  2. Erreur ORA-06502 appel de fonction
    Par nessing dans le forum SQL
    Réponses: 1
    Dernier message: 02/05/2011, 15h25
  3. Réponses: 7
    Dernier message: 08/04/2010, 16h10
  4. Erreur de compilation -> appel de fonction
    Par R'SKaP dans le forum C++
    Réponses: 2
    Dernier message: 04/12/2005, 01h33
  5. [appel de fonction]Erreur bizarre
    Par DEC dans le forum ASP
    Réponses: 4
    Dernier message: 10/08/2004, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo