date d'expiration pour le mois et l'année
avoir quelques difficultés à essayer de comprendre cela, complètement novice en JavaScript. Je suis en train de valider un formulaire, plus spécifique, la date d'expiration d'une carte de crédit.
e.g jan 2011 serait nulle, mais déc 2011 serait valide etc.
C'est ce que j'ai à ce jour:
function ExpiryDate() {
var year
var months
today = new Date();
expiry = new Date(year, month);
if (today.getTime() > expiry.getTime())
return false;
else
return true;
};
mon formulaire de lit:
<form id="myform" method="post" action="default.html" onsubmit="return Validate(this);">
<p>Expiration Date: Month
<select name="ExpMon" id="ExpMon" title="select a month">
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">Aug</option>
<option value="9">Sept</option>
<option value="10">Oct</option>
<option value="11">Nov</option>
<option value="12">Dec</option>
</select>
Year:
<select name="ExpYear" id="ExpYear" title="select a year">
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
</select></p>
</form
Je ne suis pas sûr comment faire pour utiliser la carte d'identité pour obtenir ce que je veux, toute aide serait appréciée, merci d'avance. remarque:j'ai une fonction appelée la validation la validation d'un champ de texte dans mon formulaire afin que je puisse le joindre à ce en quelque sorte.
Vous devez vous connecter pour publier un commentaire.
Si vous préférez, vous pouvez utiliser les noms à la place, vous auriez à obtenir Valider pour passer à l'élément de formulaire en tant que paramètre, mais vous pouvez utiliser
theForm.ExpYear.value
ettheForm.ExpMonth.value
.Remarque: beaucoup de gens n'aiment pas les déclarations de la forme
if (today.getTime() > expiry.getTime()) return false; else return true;
lorsque vous pouvez simplement écrirereturn today.getTime() <= expiry.getTime();
.Neil a répondu à votre question sur la façon d'obtenir les valeurs (+1). Je voulais juste ajouter que, à mon humble avis, il serait une meilleure expérience à l'utilisateur de ne pas permettre à vos utilisateurs de choisir inacceptable pour la date d'expiration de la première place.
C'est un peu plus d'effort, mais, fondamentalement, la réponse à la mois vous pouvez regarder à l'heure actuelle, puis réinitialiser le volume admissible des années sur la base de ce mois. De même, basé sur l'année choisie, l'ensemble des admissibles mois allait changer en fonction de l'heure.
Plutôt que de laisser l'utilisateur de faire une erreur et ensuite tirer jusqu'à une alerte, il suffit de ne pas permettre à l'erreur soit possible à tous.
Le suivant prendra la saisie de l'utilisateur, créer un objet date, puis de la comparer à la date d'aujourd'hui. Un élément clé est qu'il va trouver le dernier jour du mois en cours, de sorte que même si aujourd'hui, c'est le 3 Mai et à l'utilisateur de sélectionner "Mai 2011" (ce qui est valable pour une transaction par carte de crédit), il sera de retour "valide".
Voici un travail jsFiddle pour le voir en action: http://jsfiddle.net/cPApB/3/
var today = new Date(); today = new Date(today.getFullYear(), today.getMonth());
last_date_of_selected_date
variable même pas utilisé?Essayez ceci:
Utiliser cette simple validation