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 :

paramètre d'appel pour une fonction javascript


Sujet :

JavaScript

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Par défaut paramètre d'appel pour une fonction javascript
    Bonjour,

    Je bute actuellement sur un soucis auquel ce topic , http://www.developpez.net/forums/d62...orms-elements/ repond partiellement.

    J'utilise actuellement ce petit script de comptage de caractère dans un textearea :

    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
    //function de comptage du nombre de caractère saisit dans un textarea
    //Limite à 500 caractère.
    function compte_caractere(f)
    {
    //onkeypress="if(this.length > xxx) { alert('Taille max atteinte'); this.value = this.value.substr(0, xxx); }
     
    	var max=500; // 500 caractères maximum
    	var txt=f.value;
    	var nb=txt.length;
     
    	if (nb>max)
    	{	
    	alert("Pas plus de "+max+" caractères dans ce champ");
    	f.value=f.value.substring(0,max);
    	window.document.form_saisie_demandeur.nbcar.value=max;
    	}
    	else
    	{
    	window.document.form_saisie_demandeur.nbcar.value=nb;
    	}
    }
    et voilà l'appel dans mon textarea :

    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
    <INPUT type="text" name="nbcar" size="2" class="align_right"/> / 500 caractères autorisés <textarea name="observation_form_demandeur" cols="50" rows="4" class="textarea_autre" onkeyup="compte_caractere(this)">';
     
     if (isset($_POST['observation_form_demandeur']))
    {
    	$value=htmlentities($_POST['observation_form_demandeur'],ENT_QUOTES);
    	$value=stripslashes($value);
    }
    else
    {
    	$value="";
    }
     
    echo"$value"; 
     
     
    echo'</textarea>
    J'aimerai rendre indépendant cette fonction du formulaire qui l'utilise afin de pouvoir la réutiliser dans d'autre formulaire sans avoir à réécrire la function avec la syntaxe :

    window.document.forms['formulaire'].nbcar.value=nb;

    à la place de :

    window.document.form_saisie_demandeur.nbcar.value=nb;

    en utilisant formulaire qui est un paramètre de la function :

    function compte_caractere(f,formulaire).

    Cependant je ne sais pas comment faire l'appel correctement au déclenchement de l'événement :

    onkeyup="compte_caractere(this)" que dois-je utiliser à l'appel pour que dans la fonction il s'agisse du nom du formulaire qui soit utilisé?

    J'ai essayé cette syntaxe mais cela ne semble pas fonctionner :

    onkeyup="compte_caractere(this,form_validation_peinture)"
    form_validation_peinture étant le nom de mon formulaire.

    Si qqn peut m'aider pour m'indiquer la bonne syntaxe

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    onkeyup="compte_caractere(this,this.form)" en appel

    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function compte_caractere(f,leForm){
    ...
    leForm.elements['nbcar'].value = ...
    }

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Par défaut
    Bonjour,

    et merci

    En effet ça marche nikel.

    J'ai juste une petite question je ne comprend pas bien le "this.form", s'agit-il de la syntaxe permettant de récupérer le nom du formulaire contenant this ?

    En tout cas merci.

    ++

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    this.form permet de récupérer l'objet formulaire , avec tout ces éléments

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Par défaut
    bonjour,

    oki

    J'indique le poste comme résolu

    encore merci

    ++

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 17/01/2007, 13h18
  2. [JSP]Appel d'une fonction javascript
    Par scraly dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 12/07/2005, 11h50
  3. [C#] Appel d'une fonction JavaScript
    Par BiM dans le forum ASP.NET
    Réponses: 17
    Dernier message: 24/05/2005, 12h08
  4. Erreur a l'appel d'une fonction javascript
    Par linou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/03/2005, 11h16
  5. Réponses: 4
    Dernier message: 02/06/2004, 16h35

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