Volledige versie bekijken : Flash Date Picker?
stebentje
%Europe/Berlin %608 %2005, 15:36
Ik bezit over een site waar gasten via de site kunnen reserveren,
het gebeurt wel eens dat ze bv noteren: maandag 13 september, terwijl 13 september op een dinsdag valt, of dat ze wel degelijk maandag de twaalfde bedoelen.
Ik ben op zoek naar iemand die mij kan helpen met zo'n Date Picker in Flash? Een tutorial, .fla file?
En bestaat er ook de mogelijkheid om bijvoorbeeld feestdagen, verlofdagen,... aan te duiden in die calendar zodat deze niet kunnen aangeklikd worden of in een kleurtje staan?
Groetjes
Steven
Flasher
%Europe/Berlin %646 %2005, 16:31
Volgens mij zit er een DateChooser component in flash, kijk daar eens naar.
stebentje
%Europe/Berlin %690 %2005, 17:33
Ow, super! Gevonden bij DateField, bedankt voor uw hulp!
stebentje
%Europe/Berlin %744 %2005, 18:51
Nog klein vraagje, ik zou dus een paar dagen willen uithalen vermits wij dan in verlof zijn. Volgens de F1-functie moet ik volgende toevoegen:
myDF.disabledRanges = [ new Date(2005, 9, 16) ];
Als ik dit dus toevoeg als action gebeurt er niets, wat doe ik verkeerd, dien ik deze action ergens anders in te geven of moet ik iets wijzigen met die 'myDF'?
pulletje
%Europe/Berlin %947 %2005, 23:44
inderdaad, myDF staat eigenlijk voor mijn datefield. met andere woorden je moet je datefield een instancename geven bijvoorbeeld "kalender" en dan wordt de code
kalender.disabledRanges = [ new Date(2005, 9, 16) ];
stebentje
%Europe/Berlin %691 %2005, 17:36
Dit werk inderdaad, super! Nog laatste vraag:
De datum die 'disabled' is staat momenteel in licht grijs. Bestaat er de mogelijkheid om dit licht grijs te wijzigen naar een rode kleur?
stebentje
%Europe/Berlin %501 %2005, 13:02
Ik heb het gevonden. Ik post het eventjes voor diegenen die dit ook kunnen gebruiken:
Voor kleur te wijzigen van disabled datums:
kalender.setStyle('disabledColor',0xFF0000);
Voor meerdere datums te 'disablen':
kalender.disabledRanges = [ new Date(2005, 8, 17), new Date(2005, 8, 21) ];
Laatste vraag:
Ik gebruik deze kalender bij een formulier in Flash. Maar hoe kan ik deze data versturen van die kalender? Voor mijn andere velden gebruik ik in PHP:
$msg .= "Message: $message\n";
Maar wat moet ik doen bij die kalender?
mateo)
%Europe/Berlin %948 %2005, 23:45
vrij uit de flash help:
function change(eventObj){
trace("date selected " + eventObj.target.selectedDate) ;
}
kalender.addEventListener("change", this);
stebentje
%Europe/Berlin %603 %2005, 15:29
Dit snap ik eventjes niet. Als ik dit toepas kan ik nog altijd de data niet versturen via het php-formuliertje.
Dus, het zit zo, ik heb verschillende textvakken zoals:
Naam (Var: naam)
E-mail (Var: email)
enz...
Als alles is ingevuld drukken ze op 'verzenden' en die knop doet dan loadVariables("http://www.domein.be/reservform.php", "", "GET");
In de php staat er dan:
$msg .= "Naam: $naam\n";
$msg .= "E-mail adres: $email\n";
Alles komt mooi toe in mijn mailbox maar enkel de datum die ze dus moeten aanklikken komt niet toe. Heeft waarschijnlijk te maken omdat ik zijn 'Var' niet weet? Of niet kan instellen?
Ben ik verkeerd of kan ik dit effectief versturen naar mijn mailbox?
mateo)
%Europe/Berlin %609 %2005, 15:37
je moet die variabele nog wel setten. Stel je wilt de variabele 'datum' meesturen. met hetzelfde scriptje doe je dan:
function change(eventObj){
_root.datum = eventObj.target.selectedDate;
}
of, als je formulier in een aparte mc staat:
function change(eventObj){
_root.jouw_formulier_mc.datum = eventObj.target.selectedDate;
}
:)
gbolssens
%Europe/Berlin %613 %2005, 15:43
Je werkt beter met een LoadVars object dan met loadVariables():
myData_lv = new Loadvars();//LV object initialiseren
myData_lv.datum1 = "date selected " + eventObj.target.selectedDate;//property aanmaken
myData_lv.send("http://www.domein.be/reservform.php", "_blank", "POST")
in PHP zit je variabele dan gewoon in je $_POST array:
echo "De datum is: ". $_POST['datum1'];
Ik hoop dat dit je een beetje op weg helpt.
greetz,
GB
stebentje
%Europe/Berlin %703 %2005, 17:52
Super, jullie zijn echt bedankt voor de tips, het werkt nu perfect!
Maar nog bijkomend vraagje. In mijn mail krijg ik dus:
Datum: Tue Sep 20 00:00:00 GMT+0200 2005
Kan ik die datum veréénvoudigen naar Dinsdag 20 september 2005? Of is dit niet mogelijk?
mateo)
%Europe/Berlin %709 %2005, 18:01
dan moet je even in de flash help kijken naar Date.getDay() en zo.
zoiets als dit moet kunnen:
var dte = eventObj.target.selectedDate;
myData_lv.datum1 = dte.getDay() + " - " + dte.getMonth() + " - " + dte.getYear();
Flasher
%Europe/Berlin %727 %2005, 18:28
Je komt in de buurt
var dagen:Array = ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"];
var dte:Date = eventObj.target.selectedDate;
myData_lv = dagen[dte.getDay()] + " " + dte.getDate() +" - " + (dte.getMonth()+1) + " - " + dte.getFullYear();
Output: "Maandag 19 - 9 - 2005" (vandaag)
stebentje
%Europe/Berlin %793 %2005, 20:02
Je komt in de buurt
var dagen:Array = ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"];
var dte:Date = eventObj.target.selectedDate;
myData_lv = dagen[dte.getDay()] + " " + dte.getDate() +" - " + (dte.getMonth()+1) + " - " + dte.getFullYear();
Output: "Maandag 19 - 9 - 2005" (vandaag)
Waar moet ik exact dit script plaatsen? Ik heb zowat alles geprobeerd maar ik krijg het maar niet voor elkaar.
ps: waar vinden jullie die hulp? mijn F1 functie is toch niet zo uitgebreid :S
mateo)
%Europe/Berlin %822 %2005, 20:44
ik ging ervan uit dat je voor de loadVars oplossing van gbolsens was gegaan. Vandaar dat ik myData_lv.datum1 gebruik als variabele. Je moet in ieder geval in je onChange handler de datum toewijzen aan de variabele die JIJ daarvoor gebruikt. Dus als je deze functie gebruikt:
function change(eventObj){
_root.datum = eventObj.target.selectedDate;
}
dan moet daar nu dat scriptje van flasher staan:
function change(eventObj){
var dagen:Array = ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"];
var dte:Date = eventObj.target.selectedDate;
jouw_datum_variabele = dagen[dte.getDay()] + " " + dte.getDate() +" - " + (dte.getMonth()+1) + " - " + dte.getFullYear();
}
stebentje
%Europe/Berlin %535 %2005, 13:51
Super, bedankt voor jullie hulp, ik heb alles wat ik moet weten. Alles werkt perfect.
Nogmaals bedankt!!!!
mateo)
%Europe/Berlin %540 %2005, 13:57
met vereende krachten :)
stebentje
%Europe/Berlin %574 %2005, 14:47
Hier ben ik terug, de date werkt nog altijd perfect, maar ik ben nu bezig met het component ComboBox. Ik heb als actionscript staan:
function change(eventObj){
trace("item selected " + eventObj.target.selectedItem) ;
}
uur.addEventListener("change", this);
function change(eventObj){
_root.reserv.uur = eventObj.target.selectedItem;
}
Maar helaas krijg ik het niet voor elkaar om dit door te sturen via mail. Ik gebruik dezelfde scripts als voor die Kalender, aangepast naar de comboBox, maar het lukt mij niet.
Kan iemand mij helpen? Ligt het aan de AS?
mateo)
%Europe/Berlin %594 %2005, 15:15
probeer het eens zo:
uurListener = new Object();
uurListener.change = uurChange;
function uurChange(eventObject){
_root.reserv.uur = eventObj.target.selectedItem;
}
uur.addEventListener("change", uurListener)
stebentje
%Europe/Berlin %626 %2005, 16:02
Nu krijg ik wel iets binnen van data, maar er staat:
Datum: donderdag 22-9-2005
Uur: undefined
mateo)
%Europe/Berlin %634 %2005, 16:13
hmm, ik ga ervan uit dat je combobox 'uur' heet (met kleine letters) en dat die combobox en je code op de 'main timeline' staan (dus niet verstopt in de een of andere mc). zou het daar aan kunnen liggen?
anders moet je de fla maar even posten.
stebentje
%Europe/Berlin %636 %2005, 16:16
De combobox staat in een mc met naam 'reserv'. De combobox heet inderdaad 'uur'.
ps: ik heb de fla eventjes gemaild naar jou e-mail adres...
mateo)
%Europe/Berlin %647 %2005, 16:31
OK. Maar misschien ben ik er al uit. (Even in de Flash help zitten turen.) Mijn code was niet goed. Dit is beter. Let trouwens op dat je de waarde van de combobox toewijst aan een variabele met een andere naam dan de naam van de combobox zelf.
uurListener = new Object();
uurListener.change = uurChange;
function uurChange(eventObject:Object){
trace(eventObject.target.selectedItem.label);
trace(eventObject.target.selectedItem.data);
}
uur.addEventListener("change", uurListener)
stebentje
%Europe/Berlin %722 %2005, 18:20
Helaas, als ik dit script gebruik krijg ik bij mijn samenvatting van de reservatie:
Steven wenst te reserveren voor 2 personen op vrijdag 30-9-2005 om _level0.reserv.uur.
En in mijn mailbox staat er nu niets meer:
Datum: donderdag 22-9-2005
Uur:
mateo)
%Europe/Berlin %731 %2005, 18:33
ik heb je fla teruggemaild. volgens mij doet ie het :)
stebentje
%Europe/Berlin %733 %2005, 18:35
Super, werkt perfect zo! Nog eens hartelijk bedankt voor uw hulp! Mateo) ruled :D
mateo)
%Europe/Berlin %757 %2005, 19:10
da's mooi :)
stebentje
%Europe/Berlin %579 %2005, 14:54
Bon, hier zijn we terug :S
Ik heb toch nog een paar vraagjes om de lay-out nog iets beter te maken:
- ik vind de "groene" kleur niet echt passen op de site, kan ik dit wijzigen in lichtgrijs? Dus, wanneer je over een datum rolt kleurt hij groen op en bij de dropdown-list is het ook groen. Kan ik dit dus wijzigen in lichtgrijs?
- kan ik het lettertype verkleinen van beide componenten?
- kan ik het lettertype wijzigen in een ander lettertype van beide componenten?
En als laatste vraag, de disabled dates, kunnen deze ook extern geladen worden door een text-file ofzo?
Sorry voor de zoveel vragen, hopelijk kunnen jullie mij wat helpen? :#
Flasher
%Europe/Berlin %670 %2005, 17:05
Voor de 1e 3: Zoek eens bij 'Customizing components' en UIobject.setStyle();
De laatste:
disabled.txt:
dt1=25-12-2005&dt2=26-12-2005&dt3=1-1-2006
as:
var dates:Array = [];
var lv:LoadVars = new LoadVars();
lv.onLoad = function() {
var i:Number = 1;
while(this["dt"+i] != undefined) {
var str:String = this["dt"+i];
var arr:Array = str.split("-");
dates.push(new Date(arr[2],arr[1],arr[0]));
i++;
}
jouwDateChooserInstance.disabledRanges = dates
}
lv.load("disabled.txt");
stebentje
%Europe/Berlin %725 %2005, 18:24
Super, de F1 functie begint ook wel wat te rulen, ik heb alles gevonden. Ik post eventjes de scripts voor diegene die het willen gebruiken ;):
comboUur.setStyle("fontSize", "10");
comboUur.setStyle("fontFamily", "Trebuchet MS");
kal.setStyle("fontSize", "10");
kal.setStyle("fontFamily", "Trebuchet MS");
kal.setStyle("rollOverColor", "0xD0D0D0");
kal.setStyle("selectionColor", "0xD0D0D0");
comboUur.setStyle("rollOverColor", "0xD0D0D0");
comboUur.setStyle("selectionColor", "0xD0D0D0");
Bedankt voor het extern bestandje maar helaas werkt het niet :S
Oja, nog een technisch vraagje: als ik een font gebruik voor die kalender die niet iedereen heeft zal dit problemen geven? Of zal iedereen het juiste font zien?
meester
%Europe/Berlin %651 %2005, 16:38
flasher vergeet met loadVars voorbeeld, bij
dates.push(new Date(arr[2],arr[1],arr[0]));
er het volgende van te maken:
dates.push(new Date(arr[2],arr[1]-1,arr[0]));
anders krijg je een maand verschil, positief. de array beginnen namelijk op 0 en niet op 1. Maar dat wist je wel :)
groet
stebentje
%Europe/Berlin %684 %2005, 17:25
Idd, dit klopt, maar ik had de oplossing gevonden zonder die Vars.
Weet jij toevallig of het extern script werkt? want bij mij namelijk niet :S
meester
%Europe/Berlin %692 %2005, 17:36
ja hij is hier werkende :P
enige wat je moet doen is de disbled.txt aanmaken met dat stukje tekst erin. En deze in dezelfde directory als je .fla gooien. + de instance van je kalender in de script veranderen.
Dat zou voldoende moeten zijn.
ps als je hem test, kijk dan wel naar de datum 2-1-2006 die staat dus als voorbeeld disbled :)
groet
stebentje
%Europe/Berlin %701 %2005, 17:49
Ow, inderdaad, het werkt, my bad ;)
stebentje
%Europe/Berlin %441 %2005, 11:35
Hier ben ik terug :)
Bestaat de mogelijkheid om het extern bestandje te laden zonder die cijfers?
Nu heb ik dus:
dt1=25-12-2005&dt2=26-12-2005&dt3=1-1-2006
Maar als ik bv 25-12-2005 uithaal dan werkt het niet meer omdat die 'dt1' verdwenen is. Ik zou dan moeten de 'dt2' aanpassen naar dt1 en de 'dt3' naar dt2. enzo... Maar vermits er enorm veel 'disabled-dates' zijn is dit echt veel werk telkens als ik eentje wil verwijderen.
Bestaat er een mogelijkheid om het dus om anders te doen zonder die dt1,dt2,...?
meester
%Europe/Berlin %450 %2005, 11:48
je zou het automatisch kunnen laten genereren met php, zodat je hiermee een lange string krijgt op basis van count zet tie dan dt1 dt2 dt3 aan de hand van de database vulling.
ook is de mogelijkheid om je datums in een array te zetten in flash...een array in flash telt namelijk voor jou!
var test:Array = new Array("29-05-05", "28-12-2006");
for(i:Number=0; i < test.length; i++){
trace (test[i]);
}
dat zou je een eindje op weg kunnen helpen, want nu kan je dus gewoon de willekeurige
datum naar keuze verwijderen en toevoegen, zodat dit later niet gaat uitmaken voor bijv dt1 dt2 enz
groet
stebentje
%Europe/Berlin %687 %2005, 17:30
Hier ben ik terug :S met een vraagje over die date picker.
Ik gebruik dus die date picker bij een formuliertje die ze moeten invullen om te reserveren. Sommige velden zijn verplicht in te vullen, maar hoe kan ik ervoor zorgen dat ze verplicht zijn om een datum te kiezen? En ook bij een ComboBox?
meester
%Europe/Berlin %360 %2005, 09:38
if(datum.text != ""){
echo ("atie die uitgevoerd moet worden");
}
else{
echo("geen actie!");
}
flaps
%Europe/Berlin %625 %2005, 15:00
Kheb ook nog een paar vraagjes omtrent de dateChooser:
- is het mogelijk om alle datums de disabelen behalve de die in het textbestand?
- is het mogelijk als men op een datum klikt, dat er een bestand (in mijn geval een swf) geladen wordt? (dus dat het gebruikt wordt als menu)
- ik heb volgend AS gebruikt voor alle dagen voor vandaag te disabelen:
kalender.disabledRanges = [ {rangeEnd: new Date(mydate.getYear, mydate.getMonth, mydate.getDay)} ];
Maar vandaag staat ook op disabled. Dus eigelijk moet AS de datum van gisteren oproepen.
Dus ik veronderstel dat bij getDay een -1 moet komen. Maar hoe?
Vrookie
%Europe/Berlin %432 %2006, 10:22
Ik ben zelf nu ook met de datechooser bezig, maar ik ben totaal niet handig met AS. Ik gebruik de datechooser om met een aangeklikte datum te zoeken in een database naar bestanden van die bepaalde datum.
Ik heb geen idee hoe ik de datechooser in mijn AS moet implementeren. :S Kan iemand deze n00b misschien helpen? :#
Vrookie
%Europe/Berlin %501 %2006, 12:02
ok ik heb em er nu inzitten maar nu traced ie steeds "undefined"
function onSearch() {
var searchwords:String = this.root.zoek_text.text;
var searchdate:DateChooser = this.root.kalender;
doSearch(searchwords, searchdate);
}
Wat moet ik achter this.root.kalender neerzetten? ik neem aan dat dat het probleem is
FlashElements
%Europe/Berlin %520 %2006, 12:28
Ik heb geen idee hoe ik de datechooser in mijn AS moet implementeren. :S Kan iemand deze n00b misschien helpen? :#
Je kan gewoon _root.zoek_text.text gebruiken :)
function onSearch() {
var searchwordstring:String = _root.zoek_text.text;
var searchdateateChooser:Date = new Date();
//this.root.kalender; // kwee niet precies waar deze voor is
doSearch(searchwordstring, searchdateateChooser.getDate());
}
Vrookie
%Europe/Berlin %534 %2006, 12:50
de is voor iets anders namelijk het zoekveld wat er ook in zit.
this.root.kalender zou volgens mij moeten wijzen op de DateChooser (mijn DateChooser heet 'kalender')
Ik heb het nu zo:
function onSearch() {
var searchwords:String = this.root.zoek_text.text;
var searchdate:Date = new Date();
doSearch(searchwords, searchdate.getDate());
}
Maar ik krijg nu de volgende error:
Type mismatch.
doSearch(searchwords, searchdate.getDate());
FlashElements
%Europe/Berlin %577 %2006, 13:51
oke, zou je misschien de gehele code kunnen laten zien ? of ergens online zetten zodat ik 'm even kan bekijken ?
Vrookie
%Europe/Berlin %638 %2006, 15:20
oke, zou je misschien de gehele code kunnen laten zien ? of ergens online zetten zodat ik 'm even kan bekijken ?
heb je vorige week een persoonlijk bericht gestuurd met daarin mijn code.... Heb je er naar kunnen kijken?
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.