Angular.js <input type=“date”> modifier le format de la valeur soumise
<label>From</label>
<input type="date" ng-model="startDate"/>
<label>To</label>
<input type="date" ng-model="endDate"/>
<button class="btn btn-success" ng-click="getStatistics(startDate, endDate)">Update</button>
**JS***
$scope.getStatistics = function(startDate, endDate) {
$http.get('/admin/api/stats?start=' + startDate + '&end=' + endDate).success(function(data) {
$scope.stats = data;
});
}
Le code ci-dessus pousser startDate et endDate valeur dans l'url, mais le problème que j'ai, c'est que la valeur envoyée est comme 2014-12-01 et je veux que mon format 01-05-2014
Des suggestions?
OriginalL'auteur user3531335 | 2014-04-16
Vous devez vous connecter pour publier un commentaire.
Malheureusement, les navigateurs qui implémentent un élément spécifique de type pour la gestion des dates (comme Chrome) utiliser le système d'exploitation format de la date, et aucun que je suis conscient de vous permettre de changer le format (il n'est même pas dans la spec W3C). En outre, si le navigateur ne prend pas en charge (la plupart d'entre eux), il utilise régulièrement saisie de texte, mais accepte uniquement les données dans la norme ISO-8601, ce qui fait qu'empirer les choses.
Personnellement, j'évite de
type="date"
parce que comme c'est, c'est à peu près sans valeur, sauf si vous êtes sur un périphérique mobile compatible (iOS). Donc, si vous le pouvez, utilisez une entrée de texte, et si vous le souhaitez convertir la valeur de texte dans un objet date à attribuer à votre modèle, ainsi que de reformater après avoir été mis à jour, vous aurez besoin de trouver ou de rédiger une directive pour ce faire. Il est le INTERFACE utilisateur-Bootstrap sélecteur de date, mais il n'a pas reformater la date pour vous et vous apporte plus de choses que peut-être vous avez besoin. Il peut y en avoir d'autres, trop.Cependant, dans l'esprit de répondre à votre question, j'ai mis en place une démo de la directive que les deux reformate la date écrite au format de votre choix (à l'aide Angulaire du
$date
filtre). Il va reformater sur la pâte, de flou ou de la modification, ou après une courte pause d'inactivité après la saisie d'une date (celle-ci peut ne pas fonctionner particulièrement bien dans le monde réel, mais il a l'air plutôt cool. le prendre si c'est bizarre). L'autre manque à gagner est-il utilise le navigateur par défaut du mécanisme pour l'analyse d'uneDate
. Si cela est insuffisant, le remplacer par quelque chose qui est. Je suis sûr que c'est loin d'être prêt pour la production, mais c'est un début. Si c'est utile, je vais le mettre dans un formel module sur Github.Utilisation:
Inclure la la directive à partir de ce plunk dans le module, puis dans votre code HTML à utiliser
OriginalL'auteur HackedByChinese
Bien, la date d'entrée vous donne une date pour la Le format ISO. Si vous souhaitez formater la date, vous auriez probablement besoin d'une fonction comme celle-ci :
J'ajoute +1 au mois parce que getMonth vous renvoie un nombre entre 0 et 11.
La tranche(-2) est le 0.
OriginalL'auteur Alexandre Nucera
Utiliser le Filtre concept
ou dans le contrôleur
Date de filtrage et de mise en forme
OriginalL'auteur Prashobh