|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | |||||||
|
Débutant
Inscription : juin 2007 Messages : 1 550 ![]() |
Bonjour,
Je suis entrain de réaliser un site internet en utilisant du JavaScript (avec la librairie JQuery). En faite, j'ai un fichier html qui me créé un formulaire pour qu'un membre puisse s'inscrire dans lequel j'appelle 2 fichier JavaScript 'commun.js' et 'M_inscription.js'. 1) 'commun.js' répertorie des fonction dont je vais me servir dans plusieurs page JavaScript. 2) 'M_inscription.js' permet de vérifier les champs du formulaire d'inscription. Appel des deux fichier JavaScript dans mon fichier 'M_inscription.html' : Code :
Code :
Code de la page 'commun.js' : Code :
Citation:
Merci d'avance pour votre aide. P.S. : La librairie JQuery est appelé auparavant. Cordialement. |
|||||||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Mathias PhilippeDéveloppeur Web Inscription : septembre 2011 Messages : 75 ![]() |
Inclus le script "Communs/commun.js" avant l'autre tout simplement.
|
|
00
|
|
|
#3 |
|
Débutant
Inscription : juin 2007 Messages : 1 550 ![]() |
Bonjour,
Même si j'inclue 'commun.js' avant 'M_inscription.js' j'obtiens le même message d'erreur. Quelqu'un as-t'il une idée ? Cordialement. |
|
|
00
|
|
|
#4 | ||
|
Membre habitué
![]() Mathias PhilippeDéveloppeur Web Inscription : septembre 2011 Messages : 75 ![]() |
Je n'avais pas fait attention, c'est dans une closure, fais comme cela plutôt:
Code :
|
||
|
00
|
|
|
#5 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
mets des alerts ou console.log en debut de chaque $ ready
à mon avis y'a un souci de path ?
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#6 | ||||
|
Débutant
Inscription : juin 2007 Messages : 1 550 ![]() |
Bonjour tout le monde,
Merci pour vos réponse. J'ai modifié mon JavaScript comme tu me l'a conseillé MrPringle et ça fonctionne, je vais bien dans ma fonction. Ci-dessous le code de 'commun.js' : Code :
Code :
Comment puis-je faire pour appeler la fonction 'verif_mail()' soit dans l'appel de la fonction 'file()' soit d'une autre manière ? Cordialement. |
||||
|
|
00
|
|
|
#7 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
heu quand tu fais l'echo tu es encore sur le serveur ...
et quand javascript est interprété tu n'es plus sur le serveur ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#8 |
|
Débutant
Inscription : juin 2007 Messages : 1 550 ![]() |
Donc d'après toi, c'est impossible d'appeler une fonction PHP via une page JavaScript ?
Le "echo" c'est juste pour tester car avec FireBug je peux regarder ce que me retourne 'commun.php'. Cordialement. |
|
|
00
|
|
|
#9 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
Avec ajax oui ...
as tu testé ton retour d'ajax ? avec un alert ou un console log
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#10 |
|
Débutant
Inscription : juin 2007 Messages : 1 550 ![]() |
Désolé mais je voit pas ou tu veux que je mette un console log ou alert ?
|
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Mathias PhilippeDéveloppeur Web Inscription : septembre 2011 Messages : 75 ![]() |
Quite à utiliser jQuery, tu devrais utiliser les fonctions Ajax de la librairie, dans ton cas ce serait jQuery.get.
Utilise alert / console.log dans ta fonction callback qui reçoit la réponse du serveur. |
|
00
|
|
|
#12 | ||||
|
Débutant
Inscription : juin 2007 Messages : 1 550 ![]() |
Bonjour,
J'ai décidé de refaire le code permettant de vérifier si l'adresse email que l'utilisateur est entrain de saisir existe déjà en utilisant la fonction jQuery '$.GET' comme MrPringle me l'a conseillé. Ci-dessous, le code de la fonction 'verif_email' de la page 'commun.js' : Code :
Code :
Merci d'avance pour votre aide qui me sera précieuse. |
||||
|
|
00
|
|
|
#13 | ||||
|
Membre habitué
![]() Mathias PhilippeDéveloppeur Web Inscription : septembre 2011 Messages : 75 ![]() |
Dans ton cas, cela donnerait quelque chose comme ça :
Code :
Code :
|
||||
|
00
|
|
|
#14 | ||||||
|
Débutant
Inscription : juin 2007 Messages : 1 550 ![]() |
Bonsoir,
J'ai essayé : Code :
Ensuite, peux-tu m'expliquer le code suivant s'il te plais car j'ai du mal à voir ce que cela fait : Code :
Code :
|
||||||
|
|
00
|
|
|
#15 | ||
|
Membre habitué
![]() Mathias PhilippeDéveloppeur Web Inscription : septembre 2011 Messages : 75 ![]() |
Ta fonction verif_mail en php doit afficher quelque chose (echo) car Javascript recevra ce qui est affiché en retour de la requête ajax.
Utilise donc plutôt "echo (bool)true;" que "return true;", idem pour false. Code :
Sinon, la ligne 2 affecte le nom de la fonction à une variable. Ici ce serait "verif_mail". On appelle cette fonction par son nom ligne 3 en lui passant l'email en argument. Vu ton script, un système de routage (comme dans les frameworks) serait tout à fait adapté je pense. En gros, ça fonctionne avec l'url rewiting, tout arrive sur ta page index.php et tu analyses l'url pour "router", tu lances la fonction adéquate, exemple : http://www.monsite.com/verif_mail?em...ly@the_kid.com va être analysé par ton script qui appellera la fonction "verif_mail" avec l'argument billy@the_kid.com Généralement c'est plus utilisé dans un contexte objet mais c'est très facilement adaptable à du code procédural comme ci-dessus. |
||
|
00
|
|
|
#16 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
Tu as manifestement un souci de compréhension de l'interprétation de chacun des langages !
Considère php comme une machine à ecrire du code html / js Php est interprété sur le serveur Javscript n'est pas interprété sur le serveur et est seulement rédigé par php Une fois le code html js redigé il est envoyé vers le navigateur du client coté client c'est html js css qui sont interprétés. php n'existe plus à ce moment là !!! Si tu veux faire appel à une fonction php alors que tu es coté client, il te faut retourner sur le serveur soit: en rechargeant la page (href ou formulaire ou src d'iframe) soit en utilisant une requete XMLhttprequest (ajax). Tant que tu n'auras pas assimilé cette chronologie et cette séparation d'interprétation entre le coté serveur et le coté client tu n'arriveras pas à tes fins ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#17 | ||||
|
Débutant
Inscription : juin 2007 Messages : 1 550 ![]() |
Bonsoir,
Tout d'abord merci pour vos réponse et vos explications qui m'aide énormément à avancer. Réponse à MrPringle : Après avoir mieux compris a quoi servait la boucle 'if' la, je l'ai rajouté et ça rentre bien dans ma fonction 'verif_mail' de la page 'commun.php', la voici ci-dessous : Code :
Ci-dessous le code de la fonction 'verif_email' de la page 'commun.js' : Code :
Cordialement. |
||||
|
|
00
|
|
|
#18 |
|
Membre habitué
![]() Mathias PhilippeDéveloppeur Web Inscription : septembre 2011 Messages : 75 ![]() |
J'avais mis deux morceaux de code pour les deux pages, essaie avec ça, si tu changes de page, d'arguments passés... à chaque post ça va être compliqué.
Là dans ton dernier code, tu appelles la page "index.php" (donc on change de nom de page) avec deux arguments (action et function) ayant la même valeur donc je dirai qu'il y en a un qui sert à rien. Et tu ne mets rien dans la fonction callback donc tu peux attendre longtemps que ton script fasse quoi que ce soit. |
|
00
|
|
|
#19 | |||
|
Débutant
Inscription : juin 2007 Messages : 1 550 ![]() |
J'ai changé de page et d'argument car j'ai décidé de suivre ton conseil et d'utiliser un système de routage :
Citation:
Code :
Ce que je veux faire dans la fonction callback c'est que si la fonction php ('verif_mail' de 'commun.php') me retourne false alors je voudrais afficher à un endroit précis un message du style "L'adresse mail est indisponible" par contre si la fonction php me retourne true je voudrais afficher un message du style "L'adresse mail est libre". Pour afficher je sais faire via JQuery mais mon problème c'est pour récupérer ce que la fonction php me retourne (true ou false). As-tu une idée s'il te plait ? Merci d'avance. |
|||
|
|
00
|
|
|
#20 |
|
Membre habitué
![]() Mathias PhilippeDéveloppeur Web Inscription : septembre 2011 Messages : 75 ![]() |
C'est mieux comme ça en effet. Dans ce cas utilise l'argument action dans ton include, s'ils sont identiques le second ne sert plus vraiment.
Tout fonctionne maintenant ? |
|
00
|
Copyright © 2000-2012 - www.developpez.com