A voir également:
- Mes javascripts ne se lance pas
- Windows ne se lance pas - Guide
- Qu'est ce qui se lance au démarrage de l'ordinateur - Guide
- Logitech g hub ne se lance pas ✓ - Forum Logiciels
- Logitech G Hub impossible a installer - Forum Logiciels
- Autocom ne se lance pas - Forum Logiciels
4 réponses
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
9 juin 2016 à 16:35
9 juin 2016 à 16:35
Bonjour,
Dans un premier temps, installe le plugin FIREBUG pour Firefox et vas voir, une fois ta page affichée .... si des messages d'erreurs n'apparaitraient pas dans la console du navigateur.
Dans un premier temps, installe le plugin FIREBUG pour Firefox et vas voir, une fois ta page affichée .... si des messages d'erreurs n'apparaitraient pas dans la console du navigateur.
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
Modifié par Pitet le 9/06/2016 à 17:05
Modifié par Pitet le 9/06/2016 à 17:05
Salut,
Lors du clique sur le bouton "Suivant" pour exécuter la fonction verif(), tu peux remarquer l'erreur suivante dans la console de développement :
document.controleChamps is undefined
L'élément 'controleChamps' n'existe pas dans ton document, un élément html supprimé ?
Attention également à la syntaxe html, tes balises script doivent se situer dans la balise head et juste avant la fermeture de la balise body (ton dernier script est situé après la fermeture de la balise html).
Bonne journée,
Lors du clique sur le bouton "Suivant" pour exécuter la fonction verif(), tu peux remarquer l'erreur suivante dans la console de développement :
document.controleChamps is undefined
L'élément 'controleChamps' n'existe pas dans ton document, un élément html supprimé ?
Attention également à la syntaxe html, tes balises script doivent se situer dans la balise head et juste avant la fermeture de la balise body (ton dernier script est situé après la fermeture de la balise html).
Bonne journée,
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
9 juin 2016 à 17:18
9 juin 2016 à 17:18
Bonjour Pitet
Non ce n'est pas une obligation.
Perso je place régulièrement mes scripts js sous mon html ..... et très rarement dans les balises head.
Cela ne gêne pas leur fonctionnement.
Attention également à la syntaxe html, tes balises script doivent se situer dans la balise head et juste avant la fermeture de la balise body (ton dernier script est situé après la fermeture de la balise html).
Non ce n'est pas une obligation.
Perso je place régulièrement mes scripts js sous mon html ..... et très rarement dans les balises head.
Cela ne gêne pas leur fonctionnement.
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
>
Marc
9 juin 2016 à 17:43
9 juin 2016 à 17:43
Si tes scripts ne fonctionnent pas .... tu dois encore avoir une erreur (peut être que maintenant tu en vois dans la CONSOLE de ton navigateur ???? )
De plus.. si tu ne nous montres pas ton code modifié ... impossible de t'aider !
De plus.. si tu ne nous montres pas ton code modifié ... impossible de t'aider !
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
Modifié par Pitet le 10/06/2016 à 09:07
Modifié par Pitet le 10/06/2016 à 09:07
Placer les scripts après la balise html n'empêche effectivement pas leur fonctionnement, cela reste syntaxiquement invalide et le document html ne passera pas la validation w3c.
Cela pourrait éventuellement causer d'autres problèmes dans le cas de manipulation du dom.
Cela pourrait éventuellement causer d'autres problèmes dans le cas de manipulation du dom.
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
>
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
10 juin 2016 à 09:22
10 juin 2016 à 09:22
Pour la validation w3c je suis d'accord.
Pour les éventuels problèmes.... je n'en ai personnellement jamais rencontré.
Mais bon.. en effet... il est préférable (uniquement pour être conforme au w3c) de placer ses scripts js dans le body du document ou dans le head
Pour les éventuels problèmes.... je n'en ai personnellement jamais rencontré.
Mais bon.. en effet... il est préférable (uniquement pour être conforme au w3c) de placer ses scripts js dans le body du document ou dans le head
Mes codes marchent désormais sauf ma fonction verif() que j'ai placé dans le head. ;)
Ca me mets les messages d'erreurs mais juste après ça va sur ma page "create_pointage_inter3.php.
Ca me mets les messages d'erreurs mais juste après ça va sur ma page "create_pointage_inter3.php.
function verif() {
err=1;
a=document.controleChamps.datedebut.value;
b=document.controleChamps.datefin.value;
c=document.controleChamps.nprojet.value;
d=document.controleChamps.nom_lieu_chantier.value;
var variable1 = document.getElementsByClassName("hlundi").value;
var variable2 = document.getElementsByClassName("hmardi").value;
var variable3 = document.getElementsByClassName("total1").value;
var variable4 = document.getElementsByClassName("hmercredi").value;
var variable5 = document.getElementsByClassName("hjeudi").value;
var variable6 = document.getElementsByClassName("hvendredi").value;
var variable7 = document.getElementsByClassName("hlundinuit").value;
var variable8 = document.getElementsByClassName("hmardinuit").value;
var variable9 = document.getElementsByClassName("hmercredinuit").value;
var variable10 = document.getElementsByClassName("hjeudinuit").value;
var variable11 = document.getElementsByClassName("hvendredinuit").value;
e=c.length;
if (a==="") {
alert ("Vous devez remplir la date de debut");
err=1;
document.controleChamps.datedebut.focus();
return false;
}
else if (b==="") {
alert ("Vous devez remplir la date de fin");
err=1;
document.controleChamps.datefin.focus();
return false;
}
else if (c==="") {
alert ("Vous devez remplir le n° projet");
err=1;
document.controleChamps.nprojet.focus();
return false;
}
else if (e<5 || e>5){
alert ("Le n° du projet doit contenir 5 chiffres");
err=1;
document.controleChamps.nprojet.focus();
return false;
}
else if (isNaN(c) === true) {
alert('Veuillez saisir un nombre') ;
err=1;
document.controleChamps.nprojet.focus();
return false;
}
else if (d==="") {
alert ("Vous devez remplir le nom et lieu du chantier");
err=1;
document.controleChamps.nom_lieu_chantier.focus();
return false;
}
else if (variable1==="") {
alert ("Vous devez remplir vos heures de jour du lundi");
err=1;
document.controleChamps.nom_lieu_chantier.focus();
return false;
}
else if (variable2==="") {
alert ("Vous devez remplir vos heures de jour du mardi");
err=1;
document.controleChamps.nom_lieu_chantier.focus();
return false;
}
else if (variable3 > 46) {
alert ("Vous ne pouvez pas depasser 46 heures en une semaine");
err=1;
document.controleChamps.total1.focus();
return false;
}
else if (variable4==="") {
alert ("Vous devez remplir vos heures de jour du mercredi");
err=1;
document.controleChamps.nom_lieu_chantier.focus();
return false;
}
else if (variable5==="") {
alert ("Vous devez remplir vos heures de jour du jeudi");
err=1;
document.controleChamps.nom_lieu_chantier.focus();
return false;
}
else if (variable6==="") {
alert ("Vous devez remplir vos heures de jour du vendredi");
err=1;
document.controleChamps.nom_lieu_chantier.focus();
return false;
}
else if (variable7==="") {
alert ("Vous devez remplir vos heures de nuit du lundi");
err=1;
document.controleChamps.nom_lieu_chantier.focus();
return false;
}
else if (variable8==="") {
alert ("Vous devez remplir vos heures de nuit du mardi");
err=1;
document.controleChamps.nom_lieu_chantier.focus();
return false;
}
else if (variable9==="") {
alert ("Vous devez remplir vos heures de nuit du mercredi");
err=1;
document.controleChamps.nom_lieu_chantier.focus();
return false;
}
else if (variable10==="") {
alert ("Vous devez remplir vos heures de nuit du jeudi");
err=1;
document.controleChamps.nom_lieu_chantier.focus();
return false;
}
else if (variable11==="") {
alert ("Vous devez remplir vos heures de nuit du vendredi");
err=1;
document.controleChamps.nom_lieu_chantier.focus();
return false;
}
else if(err===0) {document.controleChamps.submit();}
}
<form name="controleChamps" method="post" onsubmit="return verif(this)" action="create_pointage_inter3.php">
Salut,
vous devez désactiver la fonction d'envoi sinon lorsque il a envoi du formulaire celui l'est à la page PHP indiqué par l'attribut action.
Donc trop tard pour javascript.
Le principe est donc de désactiver l'envoi (donc ne pas utiliser onSubmit mais onClick-encore mieux avec des écouteurs d'objets ici ceux du DOM= les balises de la page-) et effectuer le submit si le formulaire est dûment remplit(ce qui provoquera l'envoi des variables vers le programme PHP ou pas en cas d'erreur).
J'ai trouvé un exemple ici mais il y a dd'autres façons de faire:
http://forum.webrankinfo.com/comment-stoper-submit-javascript-t102686.html
Perso je préfère utiliser un bouton avec le comportement button, donc la fonction submit est déjà désactiver.
Ex:
http://www.w3schools.com/tags/att_button_form.asp
En remplaçant par:
On peut aussi désactiver le comportement submit du form.
Et en code encore plus propre:
vous devez désactiver la fonction d'envoi sinon lorsque il a envoi du formulaire celui l'est à la page PHP indiqué par l'attribut action.
Donc trop tard pour javascript.
Le principe est donc de désactiver l'envoi (donc ne pas utiliser onSubmit mais onClick-encore mieux avec des écouteurs d'objets ici ceux du DOM= les balises de la page-) et effectuer le submit si le formulaire est dûment remplit(ce qui provoquera l'envoi des variables vers le programme PHP ou pas en cas d'erreur).
J'ai trouvé un exemple ici mais il y a dd'autres façons de faire:
http://forum.webrankinfo.com/comment-stoper-submit-javascript-t102686.html
Perso je préfère utiliser un bouton avec le comportement button, donc la fonction submit est déjà désactiver.
Ex:
http://www.w3schools.com/tags/att_button_form.asp
En remplaçant par:
<button type="bouton" onClick=mafunction(); >N'envoi pas le formulaire(pas de submit)</button>
On peut aussi désactiver le comportement submit du form.
Et en code encore plus propre:
<button type="bouton" id="validation"</button>
document.getElementById('validation').addEventListener("click", function(){ /*ici la fonction de vérif, pas besoin de fonction d'ailleurs elle st dans une fonction déjà-fonction anonyme directement utilisé dans l'événement clic du bouton*/ });
9 juin 2016 à 16:38
Cordialement.
9 juin 2016 à 16:42
Comment est-il déclenché ? (quelle action ? quel bouton ? ....)
Si c'est la fonction verif....
remplace donc le onblur....(qui vaut lorsque le bouton perd le focus.....) par un onclick
9 juin 2016 à 16:50
J'ai remplacé comme vous m'avez dit les onclick par onblur et le problème persiste.
Cordialement.