Link to home
Start Free TrialLog in
Avatar of toggleHighQuality
toggleHighQuality

asked on

Allow user to type in a date in DateField

How can I setup a DateField component to allow the user to type in a date, or use the date picker by clicking on the icon in the DateField component?  Basically, I want to change the behavior so that the user can type the date in the textfield as opposed to being forced to use the calendar.  Any ideas?  

The only example that I was able to find on Google was for Flex.  Can anyone translate this Flex implementation to ActionScript 2.0?

http://jeff.mxdj.com/extended_datefield.htm
Avatar of Ramy_atef
Ramy_atef

Hi,
I've made u an example, hope it would solve ur problem :)

u can download it from

http://www.yousendit.com/transfer.php?action=download&ufid=38039DCD4A17238B

Best Regards,
Ramy
The idea is that i made a seperate text box and dateChooser (not date field) and a small button (a movie clip acutally)

you can type the date in the text box in the normal way, aslo you can click on the button to shoe the dateChooser , when u choose a date it'll write it to the text box and hide itself
also i made the DateChooser to disappear when u click on the button agian or if you clicked on the text box

download the file and check it ..

Ramy
Avatar of toggleHighQuality

ASKER

I figured something like this would be the work-around.  Thanks for putting this together, it really helps.  Hey, how can I make the date be formatted like DD/MM/YYYY?
Also, I'm noticing that when I type in a date, and then press the date button, the calendar pops up, and disappears. :/
for the disappear thing , put this code on the button

onClipEvent (load) {
      flag = false;
}
on (release) {
      if (flag) {
            _root.dc._visible = false;
            flag = false;
      } else {
            _root.dc._visible = true;
            flag = true;
      }
      _root.dc.setFocus();
}
I've just changed this line

_root.dc.setFocus();

For the DD/MM/YYYY put this text on the dataChooser

onClipEvent (load) {
      this._visible = false;
      function addZero(num) {
            if (num<10) {
                  num = "0"+num;
            }
            return (num);
      }
}
on (change) {
      myDate = this.selectedDate;
      myDay = addZero(myDate.getDate());
      myMonth = addZero(myDate.getMonth()+1);
      myYear = myDate.getFullYear();
      _root.textBox.text = myDay+"/"+myMonth+"/"+myYear;
      this._visible = false;
      _root.myButton.flag = false;
}

Best Regards,
Ramy
This is great stuff.  So, if I change the date in the field, and then press the button, the calendar doesn't reflect the date that I put in the textfield.  Got anything for that?
Hi
this would be very much coding (a nightmare actually) as you don't know what is the format that the user will write the date with
DD/MM/YY , MM/DD/YY , DD/MM/YYYY, MM/DD/YYYYY, MM-DD-YY ,... etc

if you wanted the text box to be cleared when the user click on the button you can write this on the button
textBox = ""

Best Regards,
Ramy
Would Assuming that they entered the same format as what the calendar gives back make it easier?
sure..
I'll make it to you assuming that the user will enter it the same way as the calendar
ASKER CERTIFIED SOLUTION
Avatar of Ramy_atef
Ramy_atef

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial