SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
Chibani Nader INSAT ANDROID CLUB
1
Atelier WebMobile : Tutoriel n°2
Validation d’un formulaire
Commençons
Ca y est, vous avez crée votre formulaire d’inscription ?
Vous devriez maintenant envoyer les données entrés à un serveur pour les stocker dans une base de
données mais avant ca on doit vérifier la disponibilité et la cohérence des informations données
Dans ce chapitre, nous allons commencer à pratiquer ! Nous allons découvrir les bases du jQquery
mobile et enregistrer notre première application web ! ☺
Alors oui, bien sûr, ne vous attendez pas encore à réaliser une page web exceptionnelle dès ce second
chapitre, mais patience... ça viendra inchallah ! :D
Principe
Allez, mettons-nous en situation ! Comme je vous l'ai dit, nous allons vérifier nos information
entrées dans le formulaire avent qu’elles soient transmises vers la base de données pour garantir
qu’elles seront bien stockées et qu’il y’aura pas des problèmes des requêtes SQL
Pour cela on doit programmer un script JQUERY permettant de réaliser cette tache donc on doit
procéder par créer un nouveau fichier d’extension .JS
Commençons le travail
Ca y’est vous y êtes ?? GO GO GO :D
La première tâche à réaliser lors de la programmation est de déclarer les variables qui seront
utilisées plus tard dans les fonctions et exprimant les différents éléments participants dans le script
(comme éléments de formulaire, emmm … et bcp d’autres choses :p )
var hdrMainvar = null;
var contentMainVar = null;
var ftrMainVar = null;
var contentTransitionVar = null;
var fonctionLabelVar = null;
var fonctionVar = null;
var sexeLabelVar = null;
var sexeVar = null;
var form1var = null;
Chibani Nader INSAT ANDROID CLUB
2
var confirmationVar = null;
var contentDialogVar = null;
var hdrConfirmationVar = null;
var contentConfirmationVar = null;
var ftrConfirmationVar = null;
var inputMapVar = null;
Ainsi que déclarer les constantes
var MISSING = "missing";
var EMPTY = "";
var NO_FONCTION = "ZZ";
Une fois les variables et les constantes sont bien déclarées on doit les remplir et les initialiser,
pour faire cela dans JQuerymobile on doit attendre que la page soit entièrement chargée pour cela on
doit les initialiser dans la fonction $(document).ready(function (){….}) qui vérifie que la page est bien
chargée dans le navigateur aussi on définit une variable ‘inputMapVar’ qui se chargera de parcourir
toutes les balises de type ‘input’ dans le formulaire .Dans ce cas on ($('input[name*="_r"]') signifie que
la variable inputMapVar contient toutes les balises input dont les noms finissent par "_r"
Attention il faut vérifier que tous les noms des variables des balises input se terminent par ‘_r’
Ouf enfin toutes les variables qu’on va utiliser sont définit et initialisées :o
Maintenant on va commencer la partie la plus dure (ne vous inquiétez pas ce n’est pas vrai juste un
peu de concentration pas plus ;))
On commence tout d’abord par cacher les boites de dialogues et les pages de transitions ainsi
définis dans le premier tutoriel (les divisions de ‘contentTransition’, ‘contentConfirmation’,
‘contentDialog’). On utilise pour ca les fonctions prédéfinies dans JQuery var.hide() & var.show (pour
afficher)
Alors on déclare les fonctions responsables de réaliser ce traitement de hide et de show pour
toutes les divisions cités et qui sont très simple a implémenter .Bon comme même je vais vous
présenter un exemple et a vous de suivre :D
Ex : Pour cacher le contenu de la division contenant le formulaire ici on procède comme suit
function hideMain(){
hdrMainVar.hide();
contentMainVar.hide();
ftrMainVar.hide();
}
function showMain(){
hdrMainVar.show();
contentMainVar.show();
ftrMainVar.show();
}
Chibani Nader INSAT ANDROID CLUB
3
Maintenant on implémente toutes les fonctions de la même manière présentés ici je vais citer
les noms de ces fonctions et a vous de les compléter bien sûr
function hideContentTransition() //pour cacher la page de transition
function showContentTransition() //pour afficher la page de transition
function hideContentDialog() //pour cacher la division de boite de dialogue
function showContentDialog() //pour afficher la division de boite de dialogue
function hideConfirmation() //pour cacher la page de confirmation
function showConfirmation() // pour afficher la page de confirmation
Bonne chance :p
Vous avez terminez ? Ok .Placez vous dans la fonction $(document).ready() après l’initialisation
des variables vous devez cacher toutes les divisions que vous ne voulez pas les afficher lors de la
première exécution de la page avec les fonctions ainsi définis (ici on va cacher les divisions de
‘contentTransition’, ‘contentConfirmation’, ‘contentDialog’ comme nous avons dis toute a l’heur )
N.B on peut aussi nommer la division qui va s’afficher lors du premier démarrage comme home en id et
name mais ce n’est pas toujours efficace ;)
Validation du formulaire
Comme dans la plupart des formulaires pour indiquer aux utilisateurs qu’un tel champ doit être ré-
rempli on lui souligner le label de ce champ pour cela on va mettre en place un nouvelle classe CSS qui
se chargera de colorier les champs mal remplis en rouge
label.missing {
color:#FF0000;
font-weight:bold;
}
Attention : verifier bien que la classe CSS missing est enregistré dans le répertoire CSS de votre
projet
On se lance maintenant a faire la vérification du formulaire on doit tout d’abord attendre que
l’utilisateur appuie sur le bouton submit n’est ce pas ? Pour cela on déclare la fonction
$(‘#nomForm’).submit(function(){….}) dans laquelle on va attaquer la vérification du formulaire mais
avant la vérification des champs on doit initialiser les données de formulaire donc on doit éliminer les
labels soulignés lors des précédentes vérifications on utilisera pour ce fin la fonction
removeClass(missing)(n’oubliez pas ‘missing’ est le nom de la classe CSS ainsi défini ;))
Enfin on va commencer la vérification par la fameuse variable inputMapVar
inputMapVar.each(function(index){
if($(this).val()==null || $(this).val()==EMPTY){
$(this).prev().addClass(MISSING); //pour marquer en rouge le label de this
bon = true;
}
});
Chibani Nader INSAT ANDROID CLUB
4
Ici on voit claire l’utilisation de quelques nouvelles méthodes
Var.Prev() //cette méthode est responsable de retourner vers l’élément qui précède la variable dans
la page
Var.val() // cette méthode retourne la valeur de la variable
Pour parcourir les éléments de inputMapVar n’oubliez pas d’utiliser la méthode each()
[inputMapVar.each(function(index){….})]
Vous avez bien lu le code ?vous avez compris le rôle de chaque méthode ? Comme d’habitude
maintenant a vous de terminer pour les autres éléments de la page (autre que input) montrez moi
vite !!!
Vérification terminés ? emm on doit voir si l’utilisateur a bien rempli son formulaire ou non
pour cela on a utilisé une variable appelée ‘bon’ qui prend initialement false puis true a chaque fois
qu’un élément ne vérifie pas les conditions du formulaire
Si bon est true alors on doit appeler la boite du dialogue pour afficher un message d’erreur et
retourner la valeur false pour submit
if(bon == true){
showContentDialog();
return false;
}
Puis dans le contentDialog un bouton ok permet de retourner vers le formulaire qui sera
modifier par la classe CSS missing pour indiquer les champs la ou on doit vérifier les données
$('#buttonOK').click(function() {
hideContentDialog();
showMain();
return false;
});
Chibani Nader INSAT ANDROID CLUB
5
Oh j’ai oublié :p si le formulaire est bien rempli et la vérification était bonne (la variable bon =
false) on doit afficher la page de transition et rediriger le submit vers la page cible (soit js ,php,…etc)
puis afficher la page de confirmation
showContentTransition(); //pour afficher la page de transition
// envoyer le formulaire
$.post("/forms/pageCible.php", form1Var.serialize(), function(data){
confirmationVar.text(data);
hideContentTransition();
showConfirmation();
});
Page de transition
Page de confirmation
Vous trouvez avec ce tutoriel le code entier du projet réalisé enjoy ;)
Chibani Nader INSAT ANDROID CLUB
6
Liens utiles
http://www.jquerymobile.com
http://mobile.tutsplus.com
http://www.siteduzero.com/
******************************
Dans ce second tutoriel, nous avons commencé a invoquer la notion d’interaction pour
notre page par l’intégration d’un script de vérification de formulaire en attendant l’intégration
d’un script php pour une communication avec une base de donnée :D je vous promets que ca sera
assez facile que celui-ci un juste un eu de concentration comme d’habitude ;)
Cordialement, Chibani Nader
04/12/2011

Mais conteúdo relacionado

Semelhante a jQuery mobile [Part2]

laravel.sillo.org-Cours Laravel 10 les bases la validation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  la validation.pdflaravel.sillo.org-Cours Laravel 10  les bases  la validation.pdf
laravel.sillo.org-Cours Laravel 10 les bases la validation.pdf
HeartKing10
 
Cours c#
Cours c#Cours c#
Cours c#
zan
 

Semelhante a jQuery mobile [Part2] (20)

laravel.sillo.org-Cours Laravel 10 les bases la validation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  la validation.pdflaravel.sillo.org-Cours Laravel 10  les bases  la validation.pdf
laravel.sillo.org-Cours Laravel 10 les bases la validation.pdf
 
Enrichissez vos-classes-avec-extends-20
Enrichissez vos-classes-avec-extends-20Enrichissez vos-classes-avec-extends-20
Enrichissez vos-classes-avec-extends-20
 
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
 
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
Comment transformer vos fichiers Excel en présentation PowerPoint en 1 clic ?
 
JavaScript pour les développeurs .NET
JavaScript pour les développeurs .NETJavaScript pour les développeurs .NET
JavaScript pour les développeurs .NET
 
Marzouk jsp
Marzouk jspMarzouk jsp
Marzouk jsp
 
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
 
cours Plsql _ abdelkhalek benhoumine
cours Plsql _ abdelkhalek benhouminecours Plsql _ abdelkhalek benhoumine
cours Plsql _ abdelkhalek benhoumine
 
Atelier18
Atelier18 Atelier18
Atelier18
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 
Suivi du Commerce Electronique Avec Google Tag Manager
Suivi du Commerce Electronique Avec Google Tag ManagerSuivi du Commerce Electronique Avec Google Tag Manager
Suivi du Commerce Electronique Avec Google Tag Manager
 
cha4c1jsp.docx
cha4c1jsp.docxcha4c1jsp.docx
cha4c1jsp.docx
 
Cours c#
Cours c#Cours c#
Cours c#
 
Johnny-Five : Robotique et IoT en JavaScript
Johnny-Five : Robotique et IoT en JavaScriptJohnny-Five : Robotique et IoT en JavaScript
Johnny-Five : Robotique et IoT en JavaScript
 
Cours java script
Cours java scriptCours java script
Cours java script
 
Liste des principaux codes VBA que j’utilise sur Access
Liste des principaux codes VBA que j’utilise sur AccessListe des principaux codes VBA que j’utilise sur Access
Liste des principaux codes VBA que j’utilise sur Access
 
Chapitre 04 : les fonctions
Chapitre 04 : les fonctionsChapitre 04 : les fonctions
Chapitre 04 : les fonctions
 
PHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben AlayaPHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben Alaya
 
Librairies Java qui changent la vie
Librairies Java qui changent la vieLibrairies Java qui changent la vie
Librairies Java qui changent la vie
 
Les Widgets
Les WidgetsLes Widgets
Les Widgets
 

jQuery mobile [Part2]

  • 1. Chibani Nader INSAT ANDROID CLUB 1 Atelier WebMobile : Tutoriel n°2 Validation d’un formulaire Commençons Ca y est, vous avez crée votre formulaire d’inscription ? Vous devriez maintenant envoyer les données entrés à un serveur pour les stocker dans une base de données mais avant ca on doit vérifier la disponibilité et la cohérence des informations données Dans ce chapitre, nous allons commencer à pratiquer ! Nous allons découvrir les bases du jQquery mobile et enregistrer notre première application web ! ☺ Alors oui, bien sûr, ne vous attendez pas encore à réaliser une page web exceptionnelle dès ce second chapitre, mais patience... ça viendra inchallah ! :D Principe Allez, mettons-nous en situation ! Comme je vous l'ai dit, nous allons vérifier nos information entrées dans le formulaire avent qu’elles soient transmises vers la base de données pour garantir qu’elles seront bien stockées et qu’il y’aura pas des problèmes des requêtes SQL Pour cela on doit programmer un script JQUERY permettant de réaliser cette tache donc on doit procéder par créer un nouveau fichier d’extension .JS Commençons le travail Ca y’est vous y êtes ?? GO GO GO :D La première tâche à réaliser lors de la programmation est de déclarer les variables qui seront utilisées plus tard dans les fonctions et exprimant les différents éléments participants dans le script (comme éléments de formulaire, emmm … et bcp d’autres choses :p ) var hdrMainvar = null; var contentMainVar = null; var ftrMainVar = null; var contentTransitionVar = null; var fonctionLabelVar = null; var fonctionVar = null; var sexeLabelVar = null; var sexeVar = null; var form1var = null;
  • 2. Chibani Nader INSAT ANDROID CLUB 2 var confirmationVar = null; var contentDialogVar = null; var hdrConfirmationVar = null; var contentConfirmationVar = null; var ftrConfirmationVar = null; var inputMapVar = null; Ainsi que déclarer les constantes var MISSING = "missing"; var EMPTY = ""; var NO_FONCTION = "ZZ"; Une fois les variables et les constantes sont bien déclarées on doit les remplir et les initialiser, pour faire cela dans JQuerymobile on doit attendre que la page soit entièrement chargée pour cela on doit les initialiser dans la fonction $(document).ready(function (){….}) qui vérifie que la page est bien chargée dans le navigateur aussi on définit une variable ‘inputMapVar’ qui se chargera de parcourir toutes les balises de type ‘input’ dans le formulaire .Dans ce cas on ($('input[name*="_r"]') signifie que la variable inputMapVar contient toutes les balises input dont les noms finissent par "_r" Attention il faut vérifier que tous les noms des variables des balises input se terminent par ‘_r’ Ouf enfin toutes les variables qu’on va utiliser sont définit et initialisées :o Maintenant on va commencer la partie la plus dure (ne vous inquiétez pas ce n’est pas vrai juste un peu de concentration pas plus ;)) On commence tout d’abord par cacher les boites de dialogues et les pages de transitions ainsi définis dans le premier tutoriel (les divisions de ‘contentTransition’, ‘contentConfirmation’, ‘contentDialog’). On utilise pour ca les fonctions prédéfinies dans JQuery var.hide() & var.show (pour afficher) Alors on déclare les fonctions responsables de réaliser ce traitement de hide et de show pour toutes les divisions cités et qui sont très simple a implémenter .Bon comme même je vais vous présenter un exemple et a vous de suivre :D Ex : Pour cacher le contenu de la division contenant le formulaire ici on procède comme suit function hideMain(){ hdrMainVar.hide(); contentMainVar.hide(); ftrMainVar.hide(); } function showMain(){ hdrMainVar.show(); contentMainVar.show(); ftrMainVar.show(); }
  • 3. Chibani Nader INSAT ANDROID CLUB 3 Maintenant on implémente toutes les fonctions de la même manière présentés ici je vais citer les noms de ces fonctions et a vous de les compléter bien sûr function hideContentTransition() //pour cacher la page de transition function showContentTransition() //pour afficher la page de transition function hideContentDialog() //pour cacher la division de boite de dialogue function showContentDialog() //pour afficher la division de boite de dialogue function hideConfirmation() //pour cacher la page de confirmation function showConfirmation() // pour afficher la page de confirmation Bonne chance :p Vous avez terminez ? Ok .Placez vous dans la fonction $(document).ready() après l’initialisation des variables vous devez cacher toutes les divisions que vous ne voulez pas les afficher lors de la première exécution de la page avec les fonctions ainsi définis (ici on va cacher les divisions de ‘contentTransition’, ‘contentConfirmation’, ‘contentDialog’ comme nous avons dis toute a l’heur ) N.B on peut aussi nommer la division qui va s’afficher lors du premier démarrage comme home en id et name mais ce n’est pas toujours efficace ;) Validation du formulaire Comme dans la plupart des formulaires pour indiquer aux utilisateurs qu’un tel champ doit être ré- rempli on lui souligner le label de ce champ pour cela on va mettre en place un nouvelle classe CSS qui se chargera de colorier les champs mal remplis en rouge label.missing { color:#FF0000; font-weight:bold; } Attention : verifier bien que la classe CSS missing est enregistré dans le répertoire CSS de votre projet On se lance maintenant a faire la vérification du formulaire on doit tout d’abord attendre que l’utilisateur appuie sur le bouton submit n’est ce pas ? Pour cela on déclare la fonction $(‘#nomForm’).submit(function(){….}) dans laquelle on va attaquer la vérification du formulaire mais avant la vérification des champs on doit initialiser les données de formulaire donc on doit éliminer les labels soulignés lors des précédentes vérifications on utilisera pour ce fin la fonction removeClass(missing)(n’oubliez pas ‘missing’ est le nom de la classe CSS ainsi défini ;)) Enfin on va commencer la vérification par la fameuse variable inputMapVar inputMapVar.each(function(index){ if($(this).val()==null || $(this).val()==EMPTY){ $(this).prev().addClass(MISSING); //pour marquer en rouge le label de this bon = true; } });
  • 4. Chibani Nader INSAT ANDROID CLUB 4 Ici on voit claire l’utilisation de quelques nouvelles méthodes Var.Prev() //cette méthode est responsable de retourner vers l’élément qui précède la variable dans la page Var.val() // cette méthode retourne la valeur de la variable Pour parcourir les éléments de inputMapVar n’oubliez pas d’utiliser la méthode each() [inputMapVar.each(function(index){….})] Vous avez bien lu le code ?vous avez compris le rôle de chaque méthode ? Comme d’habitude maintenant a vous de terminer pour les autres éléments de la page (autre que input) montrez moi vite !!! Vérification terminés ? emm on doit voir si l’utilisateur a bien rempli son formulaire ou non pour cela on a utilisé une variable appelée ‘bon’ qui prend initialement false puis true a chaque fois qu’un élément ne vérifie pas les conditions du formulaire Si bon est true alors on doit appeler la boite du dialogue pour afficher un message d’erreur et retourner la valeur false pour submit if(bon == true){ showContentDialog(); return false; } Puis dans le contentDialog un bouton ok permet de retourner vers le formulaire qui sera modifier par la classe CSS missing pour indiquer les champs la ou on doit vérifier les données $('#buttonOK').click(function() { hideContentDialog(); showMain(); return false; });
  • 5. Chibani Nader INSAT ANDROID CLUB 5 Oh j’ai oublié :p si le formulaire est bien rempli et la vérification était bonne (la variable bon = false) on doit afficher la page de transition et rediriger le submit vers la page cible (soit js ,php,…etc) puis afficher la page de confirmation showContentTransition(); //pour afficher la page de transition // envoyer le formulaire $.post("/forms/pageCible.php", form1Var.serialize(), function(data){ confirmationVar.text(data); hideContentTransition(); showConfirmation(); }); Page de transition Page de confirmation Vous trouvez avec ce tutoriel le code entier du projet réalisé enjoy ;)
  • 6. Chibani Nader INSAT ANDROID CLUB 6 Liens utiles http://www.jquerymobile.com http://mobile.tutsplus.com http://www.siteduzero.com/ ****************************** Dans ce second tutoriel, nous avons commencé a invoquer la notion d’interaction pour notre page par l’intégration d’un script de vérification de formulaire en attendant l’intégration d’un script php pour une communication avec une base de donnée :D je vous promets que ca sera assez facile que celui-ci un juste un eu de concentration comme d’habitude ;) Cordialement, Chibani Nader 04/12/2011