Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Prototype & Script.aculo.us
Prototype & Script.aculo.us Forum d'entraide sur les frameworks Prototype et Script.aculo.us
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/10/2007, 12h28   #1
Invité de passage
 
Inscription : août 2006
Messages : 23
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : août 2006
Messages : 23
Points : 3
Points : 3
Par défaut [Prototype] prototype/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:
Citation:
$(form) has no properties
return $A($(form).getElementsByTagName('*')).inject([],
prototype.js (line 2655)
Voici ma fonction:
Code :
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 :
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>
Citation:
//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
rhaamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2007, 21h00   #2
Invité de passage
 
Inscription : août 2006
Messages : 23
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : août 2006
Messages : 23
Points : 3
Points : 3
il y a du nouveau
mais la meme erreur

j'ai modifier
Code :
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 :
onclick="return verifForm(this.form);"
et mon script est le suivant:
Code :
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 :
1
2
3
$(form) has no properties
return $A($(form).getElementsByTagName('*')).inject([],
prototype.js (line 3413)
Si quelqun a une petite idée
rhaamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2008, 11h37   #3
Membre habitué
 
Inscription : mars 2004
Messages : 261
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 261
Points : 124
Points : 124
Bonjour,

et si tu mets dans ta balise form -> id='formulaire'
Celà te donne quoi ?
__________________
amiénois
gui80 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2008, 14h41   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 814
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 814
Points : 35 809
Points : 35 809
Code :
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
Citation:
mets dans ta balise form -> id='formulaire'
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h41.


 
 
 
 
Partenaires

Hébergement Web