javascript - HTML/CSS - Programmation
Marsh Posté le 10-01-2007 à 11:52:37
Il faut effectivement du javascript, mais il faut aussi faire la vérification côté serveur, sinon le javascript peut être contourné facilement
Marsh Posté le 10-01-2007 à 12:22:01
et comment on fé , car je ne trouve pas de code sur le net
Marsh Posté le 10-01-2007 à 12:32:36
c bon j ai trouver !!!
voila le code :
*******
Voici la fonction CheckDate(d), où d est une chaîne de caractères.
function CheckDate(d) {
// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
// Le séparateur est défini dans la variable separateur
var amin=1999; // année mini
var amax=2005; // année maxi
var separateur="/"; // separateur entre jour/mois/annee
var j=(d.substring(0,2));
var m=(d.substring(3,5));
var a=(d.substring(6));
var ok=1;
if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
alert("Le jour n'est pas correct." ); ok=0;
}
if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
alert("Le mois n'est pas correct." ); ok=0;
}
if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
alert("L'année n'est pas correcte." ); ok=0;
}
if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
alert("Les séparateurs doivent être des "+separateur); ok=0;
}
if (ok==1) {
var d2=new Date(a,m-1,j);
j2=d2.getDate();
m2=d2.getMonth()+1;
a2=d2.getFullYear();
if (a2<=100) {a2=1900+a2}
if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
alert("La date "+d+" n'existe pas !" );
ok=0;
}
}
return ok;
}
******
par contre je l insert comment dans mon code HTML ...
Marsh Posté le 10-01-2007 à 12:33:02
attache un évènements à ton champ :
http://www.commentcamarche.net/javascript/jsevent.php3
Code :
|
Et tu ajoute un script
Code :
|
Dès que tu quitte le champ, et qu'il est vide, ça sonne.
Marsh Posté le 10-01-2007 à 14:29:24
par contre*
****
<title>fiche de l'agent</title>
<script language="javascript">
<![CDATA[
function CheckDate(d) {
// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
// Le séparateur est défini dans la variable separateur
var amin=2007; // année mini
var amax=2050; // année maxi
var separateur="/"; // separateur entre jour/mois/annee
var j=(d.substring(0,2));
var m=(d.substring(3,5));
var a=(d.substring(6));
var ok=1;
if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
alert("Le jour n'est pas correct." ); ok=0;
}
if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
alert("Le mois n'est pas correct." ); ok=0;
}
if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
alert("L'année n'est pas correcte." ); ok=0;
}
if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
alert("Les séparateurs doivent être des "+separateur); ok=0;
}
if (ok==1) {
var d2=new Date(a,m-1,j);
j2=d2.getDate();
m2=d2.getMonth()+1;
a2=d2.getFullYear();
if (a2<=100) {a2=1900+a2}
if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
alert("La date "+d+" n'existe pas !" );
ok=0;
}
}
return ok;
}
]]>
</script>
<table>
<tr>
<td height="54" colspan="2" align="right" valign="bottom">
<b>DATE DU PREMIER JOUR DE CONGES(JJ/MM/AAAA) :</b>
</td>
<td width="52" align="center" valign="bottom">
<input name="OUTWARD_DATE" type="text" class="voscommandes" id="OUTWARD_DATE" onClick="CheckDate(this.form.ladate.value)" onChange="javascript:displayDay('OUTWARD_DATE','OUTWARD_DAY_OF_WEEK_LAYER');" size="10" maxlength="10" />
</td>
</tr>
</table>
*****
il ne me met pas le message d erreur et sa fonctionne pas tres bien c normale ?????
Marsh Posté le 10-01-2007 à 14:40:03
brisssou a écrit : et si tu vas pas sur le champs, ça fait rien ! |
Il suffit d'ajouter la fonction au bouton de validation. C'est pour ça qu'il y a un return false.
Marsh Posté le 10-01-2007 à 14:43:52
je l ais fé mais ca ne marche toujours pas
********
<script language="javascript">
<![CDATA[
function CheckDate(d) {
// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
// Le séparateur est défini dans la variable separateur
var amin=2007; // année mini
var amax=2050; // année maxi
var separateur="/"; // separateur entre jour/mois/annee
var j=(d.substring(0,2));
var m=(d.substring(3,5));
var a=(d.substring(6));
var ok=1;
if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
alert("Le jour n'est pas correct." ); ok=0;
}
if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
alert("Le mois n'est pas correct." ); ok=0;
}
if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
alert("L'année n'est pas correcte." ); ok=0;
}
if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
alert("Les séparateurs doivent être des "+separateur); ok=0;
}
if (ok==1) {
var d2=new Date(a,m-1,j);
j2=d2.getDate();
m2=d2.getMonth()+1;
a2=d2.getFullYear();
if (a2<=100) {a2=1900+a2}
if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
alert("La date "+d+" n'existe pas !" );
ok=0;
}
}
return ok;
}
]]>
</script>
<table>
<tr>
<td height="54" colspan="2" align="right" valign="bottom">
<b>DATE DU PREMIER JOUR DE CONGES(JJ/MM/AAAA) :</b>
</td>
<td width="52" align="center" valign="bottom">
<input name="OUTWARD_DATE" type="text" class="voscommandes" id="OUTWARD_DATE" onChange="javascript:displayDay('OUTWARD_DATE','OUTWARD_DAY_OF_WEEK_LAYER');" size="10" maxlength="10" />
</td>
<td width="76" valign="bottom">
<div id="calendardiv" style="position:absolute; background-color:#FFFFFF; z-index:100; width:150px; height:107px; left: 529px; top: 87px; border: 1px none #000000; visibility: hidden;">
</div>
<script language="javascript" type="text/javascript">
<![CDATA[
function cal_returnFunction(y,m,d){
var dt = new Date(y,m-1,d,0,0,0);
window.CP_targetInput.value = formatDate(dt,window.CP_dateFormat);
}
</table>
********
le script entre les dux c un calendrier fé pas attentio, alors tt en penc koi ?
calendrier.setReturnFunction("cal_returnFunction" );
]]>
</script><a href="#" onClick="calendrier.select(document.saisie.OUTWARD_DATE,'cal_outward','dd/MM/yyyy'); return false;" name="cal_outward" id="cal_outward">
<img src="http://intradocs/images_cet/calendar.gif" width="34" height="21" border="0" />
</a>
</td>
<td></td>
<td>
</td>
<tr>
<td colspan="6" height="20">
</td>
</tr>
</tr>
<tr>
<td colspan="6" align="center"> <input name="Envoyer" type="submit" class="prixblu" tabindex="11" value="Valider" onClick="return CheckDate(d)"/>
Marsh Posté le 10-01-2007 à 14:44:29
je l ais fé mais ca ne marche toujours pas
********
<script language="javascript">
<![CDATA[
function CheckDate(d) {
// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
// Le séparateur est défini dans la variable separateur
var amin=2007; // année mini
var amax=2050; // année maxi
var separateur="/"; // separateur entre jour/mois/annee
var j=(d.substring(0,2));
var m=(d.substring(3,5));
var a=(d.substring(6));
var ok=1;
if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
alert("Le jour n'est pas correct." ); ok=0;
}
if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
alert("Le mois n'est pas correct." ); ok=0;
}
if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
alert("L'année n'est pas correcte." ); ok=0;
}
if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
alert("Les séparateurs doivent être des "+separateur); ok=0;
}
if (ok==1) {
var d2=new Date(a,m-1,j);
j2=d2.getDate();
m2=d2.getMonth()+1;
a2=d2.getFullYear();
if (a2<=100) {a2=1900+a2}
if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
alert("La date "+d+" n'existe pas !" );
ok=0;
}
}
return ok;
}
]]>
</script>
<table>
<tr>
<td height="54" colspan="2" align="right" valign="bottom">
<b>DATE DU PREMIER JOUR DE CONGES(JJ/MM/AAAA) :</b>
</td>
<td width="52" align="center" valign="bottom">
<input name="OUTWARD_DATE" type="text" class="voscommandes" id="OUTWARD_DATE" onChange="javascriptisplayDay('OUTWARD_DATE','OUTWARD_DAY_OF_WEEK_LAYER');" size="10" maxlength="10" />
</td>
<td width="76" valign="bottom">
<div id="calendardiv" style="position:absolute; background-color:#FFFFFF; z-index:100; width:150px; height:107px; left: 529px; top: 87px; border: 1px none #000000; visibility: hidden;">
</div>
<script language="javascript" type="text/javascript">
<![CDATA[
function cal_returnFunction(y,m,d){
var dt = new Date(y,m-1,d,0,0,0);
window.CP_targetInput.value = formatDate(dt,window.CP_dateFormat);
}
</table>
********
le script entre les dux c un calendrier fé pas attentio, alors tt en penc koi ?
Marsh Posté le 10-01-2007 à 11:47:55
bonjour je cherche sur le net depuis ce matin ...
car jai un formulaire et je voudrai lorsqu'une personne ne rentre rien un message apparait en lui disant de rentrer un valeur , es ce que vous savez comment on fé ??
je c ke c du javascript mais je trouve rien ...