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

Bibliothèques & Frameworks Discussion :

Modalbox et fonction javascript


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 11
    Points
    11
    Par défaut Modalbox et fonction javascript
    Bonjour a tous.
    J'ai un petit probleme avec Modalbox et plus precisement, Prototype qui me fait la tronche

    J'ai un forumulaire, affiché dans une page via modalbox => ok
    Lorsque je valide sa execute: verifForm(this.form) qui est une fonction javascript qui me verifie chaque champs du forumulaire, puis apres sa execute modalbox.show ....

    Sauf que entre temps prototype m'insulte avec:
    $(form) has no properties
    return $A($(form).getElementsByTagName('*')).inject([],
    prototype.js (line 2655)
    Voici ma fonction:
    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
     
    <SCRIPT type="text/javascript"> 
    function verifForm(formulaire) { 
    if (document.formulaire.pass.value == document.formulaire.pass2.value) 
        {if ((document.formulaire.mail.value == "") || (document.formulaire.login.value == "") || (document.formulaire.pass.value == "")) 
        {alert('Veuillez remplir tout les champs! Merci.');} 
        else {    adresse = formulaire.mail.value; 
        var place = adresse.indexOf("@",1); 
        var point = adresse.indexOf(".",place+1); 
        if ((place > -1)&&(adresse.length >2)&&(point > 1)) 
            { 
            //formulaire.submit() 
            //return true ; 
            } 
        else 
            { 
            alert('Entrez une adresse e-mail valide! Merci.'); 
            return false ; 
            } 
        }} 
    else 
        {alert('Veuillez re-saisir votre mot de passe ! Merci.');}} 
    </SCRIPT>
    Et mon formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php echo REG_FORM; ?>
                            <form name="formulaire" method="post" action="register_step3.php" onsubmit="return false;">
                            <input type="HIDDEN" value="submit_yes" name="submit" >
                            <?php echo REG_LOGIN; ?><br><input type="text" name="login" maxlength="20" value="<?php echo $login; ?>" size="30" readonly class="formulaire" ><br />
                            <?php echo REG_MAIL; ?><br><input type="text" name="mail" maxlength="20" value="" size="30" class="formulaire" ><br />
                            <?php echo REG_PASS; ?><br><input type="password" name="pass" maxlength="20" value="" size="30" class="formulaire" ><br />
    <?php echo REG_PASS2; ?><br><input type="password" name="pass2" maxlength="20" value="" size="30" class="formulaire" ><br>
    <input type="button" name="envoi" value="<?php echo REG_SEND; ?>" onclick="verifForm(this.form); Modalbox.show('register_step2.php', {title: 'Enregistrement d\'un nouvel utilisateur', width: 500, params:Form.serialize('formulaire') }); return false;" class="formulaire"></form>
    //formulaire.submit()
    //return true ;
    Sont commenté car si je les met l'erreur est forumulaire.submit() is not a fonction, et d'apres le wiki de modalbox, submit() ne marche pas avec ...

    j'ai tenté de remplacer par le modalbox.show(...) mais j'obtient la meme erreur de prototype j'ai aussi remplacer le prototype.js avec la derniere version sur le site de prototype mais sa ne change rien.

    Si quelqun a une idée pour resoudre cette erreur sa serais super
    J'ai aussi tenté de modifier mon script grace a FireBug pour perdre moin de temps que l'edition>sauvegarder>recharger la page, mais je n'ai rien obtenu de mieux a part le meme message.

    Merci a ceux qui pourront m'aider

    Ps: mon probleme touche aussi bien javascript (la fonction) que ajax (modalbox/prototype) et j'ai hesiter entre les deux categories, et finalement j'ai posté dans Ajax, en esperant que cela aille

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    il y a du nouveau
    mais la meme erreur

    j'ai modifier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="verifForm(this.form); Modalbox.show('register_step2.php', {title: 'Enregistrement d\'un nouvel utilisateur', width: 500, params:Form.serialize('formulaire') }); return false;"
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="return verifForm(this.form);"
    et mon script est le suivant:
    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
    <SCRIPT type="text/javascript"> 
    function verifForm(form_infos) { 
    if (document.form_infos.pass.value == document.form_infos.pass2.value) 
        {if ((document.form_infos.mail.value == "") || (document.form_infos.login.value == "") || (document.form_infos.pass.value == "")) 
        {alert('Veuillez remplir tout les champs! Merci.');} 
        else {    adresse = form_infos.mail.value; 
        var place = adresse.indexOf("@",1); 
        var point = adresse.indexOf(".",place+1); 
        if ((place > -1)&&(adresse.length >2)&&(point > 1)) 
            { 
            Modalbox.show('register_step2.php', {title: 'Enregistrement d\'un nouvel utilisateur', width: 500, params:Form.serialize('formulaire') }); 
            return false; 
            } 
        else 
            { 
            alert('Entrez une adresse e-mail valide! Merci.'); 
            return false ; 
            } 
        }} 
    else 
        {alert('Veuillez re-saisir votre mot de passe ! Merci.');}} 
    </SCRIPT>
    et l'erreur bien sur, pas changé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(form) has no properties
    return $A($(form).getElementsByTagName('*')).inject([],
    prototype.js (line 3413)
    Si quelqun a une petite idée

  3. #3
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 290
    Points : 217
    Points
    217
    Par défaut
    Bonjour,

    et si tu mets dans ta balise form -> id='formulaire'
    Celà te donne quoi ?

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="verifForm(this.form);"
    this représente l'élément cliqué (ton input), donc this.form cherche un formulaire dans ton input... en plus, this.form est incorrect, il faut mettre :
    La meilleure solution est celle proposée par gui80
    mets dans ta balise form -> id='formulaire'

Discussions similaires

  1. Appel de fonction javascript
    Par lepierre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/11/2004, 14h28
  2. Réponses: 5
    Dernier message: 13/08/2004, 15h40
  3. Réponses: 4
    Dernier message: 02/06/2004, 16h35
  4. Réponses: 11
    Dernier message: 10/05/2004, 10h49
  5. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 06/05/2003, 14h24

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