Bonjour à tous,
je modifie un code PHP/HTML avec des contrôles javascript après saisie de données par un formulaire.
La fonction en javascript est la suivante :
pour le formulaire suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
37
38
39
40
41
42
43
44
45
46 <script language="JavaScript"> function controle_modif_location() { // On récupère les variables du formulaire var adresse = document.modifier_location.adresse.value; var codepostal = document.modifier_location.codepostal.value; var telephone = document.modifier_location.telephone.value; var mobile = document.modifier_location.telmobile.value; var nb_personnes = document.modifier_location.personnes.value; var heure_debut = document.modifier_location.heure_debut_location.value; var minute_debut = document.modifier_location.minutes_debut_location.value; var annee_debut = document.modifier_location.annee_debut_location.value; var mois_debut = document.modifier_location.mois_debut_location.value; var jour_debut = document.modifier_location.jour_debut_location.value; var heure_fin = document.modifier_location.heure_fin_location.value; var minute_fin = document.modifier_location.minutes_fin_location.value; var annee_fin = document.modifier_location.annee_fin_location.value; var mois_fin = document.modifier_location.mois_fin_location.value; var jour_fin = document.modifier_location.jour_fin_location.value; var date_du_jour = document.modifier_location.date_du_jour.value; var debut = annee_debut+mois_debut+jour_debut+heure_debut+minute_debut ; var fin = annee_fin+mois_fin+jour_fin+heure_fin+minute_fin ; //// Controle des dates : la fin est-elle après le début ? ;) if ( fin <= debut ) { alert("<?php echo $trad["ajouter_location"]["fin_debut"]; ?>"); return false; } //// Controle des dates : la fin est-elle après le début ? ;) if ( debut < date_du_jour ) { alert("<?php echo $trad["ajouter_location"]["demande_anterieure"]; ?>"); return false; } //// Controle des champs numériques : sont-ce des chiffres ? if ( (codepostal != 0) && (isNaN(codepostal)) ) { alert("<?php echo $trad["modifier_location"]["chiffre_code_postal"]; ?>"); return false; } if ( (telephone != 0) && (isNaN(telephone)) ) { alert("<?php echo $trad["modifier_location"]["chiffre_telephone"]; ?>"); return false; } if ( (mobile != 0) && (isNaN(mobile)) ) { alert("<?php echo $trad["modifier_location"]["chiffre_mobile"]; ?>"); return false; } if ( (nb_personnes != 0) && (isNaN(nb_personnes)) ) { alert("<?php echo $trad["modifier_location"]["chiffre_personnes"]; ?>"); return false; } //// Confirmation de la création if ( confirm("Confirmez-vous cette modification ?") ) { return true; } else { return false; } } </script>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <form action="traite_modifier_location.php" enctype="multipart/form-data" method="post" name="modifier_location" OnSubmit="return controle_modif_location()"> ........................................................... ........................................................... ........................................................... <input type="submit" name="Submit" value=" >> <?php echo $trad["modifier_location"]["modifier"]; ?> << " style="color:#000000">
Le problème est le suivant : le contrôle des champs se fait bien. Toutes les "alert" se lance si les valeurs ne sont pas celles attendues.
Mais la fenètre "finale" de confirmation se lance quand elle veut. En général, elle se lance au début, puis au bout de X saisies, elle n'apparait plus. Dans ce cas, les contrôles des valeurs se font. Si ces valeurs sont corrects, le code passe alors à la page suivante "traite_modifier_location.php" sans confirmation...
Avez-vous une idée de ce qu'il se passe ???
Je n'ai pas message en console d'erreurs sous Firefox2 et IE7.
merci d'avance pour vos solutions, ou apports à mon problème...
Partager