Bon ça va alors.. Merci en tout cas pour ton aide et ta patience :)
Version imprimable
Bon ça va alors.. Merci en tout cas pour ton aide et ta patience :)
Bonjour,
• Placement écouteur
Tout à fait et, pour des raisons de performance, le placer sur le conteneur parent le plus proche.Citation:
Envoyé par jreaux62
Dans le cas présent puisque l'on « injecte » du HTML dans l'élément $('.reservation'), autant mettre l'écouteur sur celui-ci.
dans ce cas l'écouteur doit viser directement les éléments ayant la classe daytitle.Citation:
Envoyé par Momodughetts
Nota : on peut se poser la question du pourquoi ajouter une <div> dans les <td> mais bon !Code:
1
2
3
4 $(".reservation").on("click", ".daytitle", function(e) { $('#textcontent').text($(this).text()); } ); // <= ne pas oublier la fermeture du on
• Méthode .load()
Ce message est un avertissement et non une Erreur.Citation:
Envoyé par Momodughetts
La méthode .load() , tout comme .get() et .post(), est un raccourci de la méthode .ajax(), cette méthode est asynchrone.
Au lieu d'écrire
tu aurais tout à fait pu écrireCode:$('.reservation').load("formulaireajax.html");
• Mode strictCode:
1
2
3 $.get("formulaireajax.html", function(reponse) { $('.reservation').html(reponse); }, html);
Non au contraire, il est préférable de prendre d'ores et déjà de bonnes habitudes.Citation:
Envoyé par bonjourajax
dans ce cas cela veut dire que le code est « bancal » !Citation:
Envoyé par bonjourajax
Rien n'empêche de placer l'instruction "use strict"; en tête de script, il faut savoir cependant que dans ce cas TOUS les scripts concaténés seront en mode strict, ce qui dans ton cas ne devrait pas poser de soucis.Citation:
Envoyé par bonjourajax
Même jQuery JavaScript Library v3.3.1 en fait usage de la sorte.
Bonjour
Je l'utilise aussi, mais je le place une fois que j'ai terminé le code, avant concaténation.
Ayant appris le js sans commencer par 'use script' je donne mon point de vue simplement, qui est loin d'être celui d'un expert, mais qui a fonctionné pour moi
Chacun le sien
Juste pour info, si à l'époque j'avais disposé de l'instruction "use strict" c'est plusieurs heures que j'aurais économisé, surtout en prise de tête et ce qui va avec, pour un oubli de déclaration d'une variable de boucle avec le mot clé var dans un code distant, même très distant, de celui que je testais/déboguais (je m'en rappelle encore et il suffit que je ferme les yeux pour revoir le code).
Alors mon conseil, de prudence, ne pas ce gêner d'utiliser "use strict".
Ahah génial tes explications merci ! Par contre je rencontre un autre problème si tu peut m'aider; Je fait une vérification de formulaire en Js et j'aimerais que si il y a une erreur qui s'affiche, le formulaire ne s'envoie pas or la le formulaire s'envoie quand même même si le champ est vide, explication ? Solution ? Merci beaucoup
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 function afficheErreur(champ, erreur){ var blocErreur = $(champ).parent('li').children('.Erreur'); if(erreur){ blocErreur.show(); }else{ blocErreur.hide(); } } function verifMessage(){ var message = this.value; if(message === "" || this.value.length <= 5){ afficheErreur(this, true); return false; }else{ afficheErreur(this, false); return true; } } function verifForm(){ var nomOk = verifNom.bind(this.nom); var mailOk = verifMail.bind(this.mail); var numeroOk = verifNumero.bind(this.number); var messageOk = verifMessage.bind(this.message); if(!nomOk || !mailOk || !numeroOk || !messageOk){ event.preventDefault(); }else{ } } console.log(verifForm) $(function(){ $('#messageForm').submit(verifForm); $('[name="nom"]').blur(verifNom); $('[name="mail"]').blur(verifMail); $('[name="message"]').blur(verifMessage); $('[name="number"]').blur(verifNumero); });
Bonjour,
Oui... enfin ça m'aide pas même en rajoutantle formulaire vide s'envoie quand mêmeCode:
1
2
3
4
5
6 $('[name="submit"]').click(function(event){ if(!nomOk || !mailOk || !numeroOk || !messageOk){ event.preventDefault(); }else{ } })
Même comme ça il s'envoie encore :( vraiment je sais pas comment faireCode:
1
2
3
4
5
6
7 $('#messageForm').submit(function(event){ if(afficheErreur()){ event.preventDefault(); }else{ $('#messageForm').unbind('click') } })
Bonjour
essaye avec simplement
si il s'envoie toujours y a un problemeCode:
1
2
3
4 $('#messageForm').submit(function(event){ event.preventDefault(); });
edit : je viens de me souvenir de ce sujet, c'est pas a cause du "use strict" (manque de point virgule)? :mouarf:
dans ce cas il te faut clore cette discussion, bouton http://club.developpez.com/aidenouve...82noresolu.png qui se trouve en bas de la liste des messages, et en ouvrir une autre !Citation:
Envoyé par Momodughetts
https://www.developpez.com/template/kit/kitinfo.png Poser plusieurs questions dans un seul et même fil nuit grandement à la qualité du forum : notamment, lors d'une recherche, tout le contenu du fil n'est pas indiqué dans le titre, elle devient donc plus ardue.
Notre but est de maintenir une base de connaissances facile à exploiter par tous les visiteurs, utilisable par tous.
Vous avez pu bénéficier de ce forum en posant vos questions, laissez la possibilité aux suivants de bénéficier des réponses en leur offrant un sujet moins dispersé.
Désolé demain j'ouvre un autre sujet parce que j'ai toujours pas la solution ! C'est vrai que j'aurais du y penser des le début.. Merci quand même je passe le sujet en résolu !