RECUPERER LA DATE D'UN CALENDAR OUVERT DANS UNE POPUP [DEBUTANT]

devvassili Messages postés 5 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 juillet 2007 - 10 févr. 2005 à 08:50
francois_35 Messages postés 1 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 14 juin 2007 - 14 juin 2007 à 17:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29396-recuperer-la-date-d-un-calendar-ouvert-dans-une-popup-debutant

francois_35 Messages postés 1 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 14 juin 2007
14 juin 2007 à 17:51
moi aussi j'aimerai bien un cas concret du calendrier et du textbox. Je veux le faire en C#. J'ai regardé plusieurs code, mais c'est souvent en VB et j'arrive pas à l'adapter.
Merci d'avance
DigigtalDJ Messages postés 10 Date d'inscription mercredi 1 novembre 2006 Statut Membre Dernière intervention 14 janvier 2010
16 mai 2007 à 12:09
Salut a tous,
Voila je suis entrain de developper en asp.net C# sur Web developer et jai un peu de mal a creer ce "calendrier-popup" ki m'aiderai a prendre une date selectionnée et la mettre dans un label.

C'est mon maitre de stage qui va pas etre content si jy arrive pas :s lol

merci de m'aider ca serai simpas ^^
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 janv. 2006 à 17:48
A mon avis c'est une histoire de postback :s mais j'ai pas le temps de regarder, faudrais voir pour sauvegarder le viewstate et ainsi à chaque postback réafficher le truc.

Bon courage :)
babybutt Messages postés 39 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 22 février 2006
23 janv. 2006 à 17:23
>Salut Cyril
>j'ai regardé ton code, et je sens qu'il va vraiment me servir merci beaucoup.
>
>par contre je voulais savoir pourquoi dans ta version sans popup lorsqu'on change de mois, le calendrier disparait ?
>
>comment pourrait-on y remédier.
>
>est ce que ça serait à cause de l'objet calendrier qui le compte comme un onchange.
Sardonnen Messages postés 89 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 6 décembre 2006
25 oct. 2005 à 16:23
Est ce normal que sur ta version sans popup dés que tu changes de mois le calendrier disparait???
c'est un peu genant...
sinon impec pour le reste
merci
a+
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
5 juil. 2005 à 02:08
Dans ton cas ca deviendrait bien plus compliqué, il faudra se servir un peu plus de javascript

par exemple à le place de ca

[javascript:ShowCalendarPopup(); Afficher le calendrier]

tu auras ca

[javascript:ShowCalendarPopup('<%=me.textboxDate.clientID%>'); Afficher le calendrier]

la fonction ShowCalendarPopup, deviendra

function ShowCalendarPopup(id)
{
window.open("Calendar.aspx?id=" id,"Calendar","width=238, height=218, resizable=yes, toolbar=false, scrollbars=false, status=yes");
}

dans le fichier calendar.aspx ca deviendra :

Calendar.aspx (le nom est important, car l'autre page l'appelle via la popup)

<%@ Page Language="vb" %>

<script language="vb" runat="server">

Private Sub Calendar1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim Script As String
Script = "<script language=""javascript"" type=""text/javascript"">" & vbNewLine
'verifier request.querystring
Script &" window.opener.document.getElementById(""" & request.querystring("id") & """).value """ & Calendar1.SelectedDate.ToShortDateString & """ ;" & vbNewLine
Script &= " window.close();</" & "script>"

Me.RegisterStartupScript("DateSelected", Script)
End Sub

</script>

mais attention en faisant ca, verifie request.querystring, met au moins un HTMLEncode

il y aura surement d'autres modifs à faire, mais voici le genre
cs_Mia Messages postés 36 Date d'inscription jeudi 27 juin 2002 Statut Membre Dernière intervention 15 septembre 2009
4 juil. 2005 à 15:01
Salut

Je trouve ton code très bien mais pour mon usage, j'ai besoin de faire appel à ce popup autant de fois que j'ai de textboxes dans ma page. Ils sont tous identifiés par un nom différent mais dans le code "calendar.aspx" tu fais directement référence à un nom de textbox "TextBoxDate". Comment utiliser calendar.aspx pour tous les textbox que j'ai sur ma page de base?
Merci d'avance.

ps: pour moi c'est en vb pas en C#

Mia
asp_shamai Messages postés 28 Date d'inscription jeudi 23 juin 2005 Statut Membre Dernière intervention 25 novembre 2005
1 juil. 2005 à 19:13
salut à tous...
c'est juste pour préciser que le code marche parfaitement..j'ai retraduit en C# et ça donne un bon résultat..
mais j'ai voulu remplacer ton lien "afficher calendrier" par un bouton et là il renvoit une erreur.voilà le code du click bouton
<script runat="server">
void Click_OK(object sender, System.EventArgs e)
{
javascript:ShowCalendar();
}
</script>
tu vois le problème toi

merci cyril
asp_shamai Messages postés 28 Date d'inscription jeudi 23 juin 2005 Statut Membre Dernière intervention 25 novembre 2005
29 juin 2005 à 17:45
ok..merci pour le conseil..
en fait j'étais en train de chercher comment créer une petite fenêtre qui afficherait le calendar où l'user pourra cliquer sur une date pour quelle s'affiche dans un textbox..mais là je réussis pas encore malgré ton code exemple..
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
29 juin 2005 à 16:42
en C# y'a pas beaucoup de difference, j'ai trés peu de code ici ...

en gros traduit comme ca :

Private void Calendar1_SelectionChanged(System.Object sender, System.EventArgs e)
{
string script;
Script = "<script language=""javascript"" type=""text/javascript"">" +
" document.getElementById(""TextBoxDateInline"").value = """ + Calendar1.SelectedDate.ToShortDateString + """ ;" +
"</" + "script>"
this.RegisterStartupScript("DateSelected", Script);
}

Private void ButtonValidate_Click(System.Object sender, System.EventArgs e)
{
Page.Validate();
If (Page.IsValid)
{
try
{
LblSelectedDate.Text = " Vous avez selectionné le " + DateTime.Parse(TextBoxDate.Text).ToLongDateString();
}
catch (exception ex)
{
LblSelectedDate.Text = "La date n'est pas valide";
}

}
else
{
LblSelectedDate.Text = "La date n'est pas valide";
}
}

mais si tu veux faire du .net entraine toi à lire du VB.net et du C# tu verras c'est les memes langages à 2 bricoles pret ...
asp_shamai Messages postés 28 Date d'inscription jeudi 23 juin 2005 Statut Membre Dernière intervention 25 novembre 2005
29 juin 2005 à 16:22
salut Cyril,
j'ai admiré le code...c simple vraiment..mais je ne sais pas si t'as la version c#..ça m'interesse car moi je m'exerce avec le c#
merci..
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
14 avril 2005 à 12:20
aspx ca veut dire que c'est du .net donc il te faut la framework .net etc...

regarde sur les forums il y a plein de message t'expliquant comment installer asp.net
Nerolph Messages postés 58 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 4 septembre 2012
13 avril 2005 à 10:26
Parce que c'est quand même un bonne source.
S.O.S. ! PLiz.
Nerolph Messages postés 58 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 4 septembre 2012
13 avril 2005 à 10:23
Je n'arrive pas à l'exécuter.
Ça doit venir du fait que c'est de l'aspx au lieu de l'asp.
Est-ce compatible asp ? Si oui comment je dois faire car j'ai déjà corrigé les erreurs que me dit IIS.

Merci.
cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008
13 mars 2005 à 15:01
un ptit qqchose, sa serait bon de recuperer la date via le calendrier, dont ont a choisi ultérieurement ! Car si l'usager à choisi par exemple le 9 Juillet 2009, sa lui fait du chemin pour changer pour le 10 ;) Et pour ce qui est du iframe il y a encore bien plus simple, utilisation des div !
cs_Mauricet Messages postés 89 Date d'inscription lundi 3 mars 2003 Statut Membre Dernière intervention 28 juillet 2008
19 févr. 2005 à 11:52
Bonjour
Extra
Mais je ne vois pas mon global.asax
je cherche
j'ai néanmoins fait la modification dans Web config et j'ai le calendrier en français
Merci
Maurice
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
19 févr. 2005 à 11:33
J'ai justement fait une source qui va t'aider pour ton problème. Il suffit de changer la culture du thread

'-------- En francais
Imports System.Globalization

Dim dtfFrance As DateTimeFormatInfo
Dim ci As New CultureInfo("fr-FR")
dtfFrance = ci.DateTimeFormat
LabelDate.Text = Now.ToString("D", dtfFrance)

tu met ca dans le global.asax, regarde la source pour mettre le calendrier suivant le client.

>> http://www.aspfr.com/code.aspx?ID=21203
cs_Mauricet Messages postés 89 Date d'inscription lundi 3 mars 2003 Statut Membre Dernière intervention 28 juillet 2008
19 févr. 2005 à 11:14
Bonjour
J'ai essayé ton calendrier sur un site ASP anglais et alors le calendrier et la date reviens en anglais.
Que faut-il changer pour l'avoir en frnçais ?
Je débute
Merci
Maurice
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
15 févr. 2005 à 21:44
Suite au commentaires j'ai rajouté la possibilité d'afficher le calendrier dans la page sans popup.

Pour répondre à Senynium X bien sur que je connais les iframes :D mais j'aime pas, mieux vaut s'en passer.


Pour Mauricet, pour changer l'endroit ou apparait ta popup, tu peux modifier ca avec du javascript (www.javascriptfr.com)
cs_Mauricet Messages postés 89 Date d'inscription lundi 3 mars 2003 Statut Membre Dernière intervention 28 juillet 2008
15 févr. 2005 à 19:13
Bonjour
Je trouve que c'est très bien
mais je voudrais que le calendrier ne soit pas bloqué dans le coin supérieur gauche
Que faut-il faire pour que le calendrier apparaisse , par exemple, dans le milieu de l'écran ?
Les IFrame, je ne connais pas mais j'aimerais
Merci
Maurice
Senynium X Messages postés 49 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 12 juin 2008
14 févr. 2005 à 10:53
Salut, c bien beau ...
Mais on pourrait faire plus simple. Tu connais les iframes ? On peut tout simplement charger une page dans un IFRAME qui se chargerait d'afficher le calendar.
devvassili Messages postés 5 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 12 juillet 2007
10 févr. 2005 à 08:50
Pour vérifier la date tu peux mettre un CompareValidator
Comme ControlToValidate : ton TextBox
Comme Operator : DataTypeCheck
CommeType : Date
Rejoignez-nous