Solved

Datepicker prepopulate with today date

Posted on 2010-09-05
10
1,293 Views
Last Modified: 2012-08-13
Hi,

I'm using Jquery Datepicker http://docs.jquery.com/UI/Datepicker
in my form and I like to prepopulate the field with today date.
The calendar is preseleting the today date but the date field is empty by default.
Here is my code

//PHP code the value = empty
$date   = '';

Open in new window


//js
//date picker
$(document).ready(function(){
    $("#dp").datepicker({
       showOn: 'button',
       buttonImage: 'img/calendar_20.png',
       buttonImageOnly: true,
       dateFormat: 'yy-mm-dd',
	   dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
	   monthNamesShort: ['Jan','Fev','Mar','Avr','Mai','Jui','Jul','Aou','Sep','Oct','Nov','Dec'],
	   firstDay: 1 ,
	   showButtonPanel: false,
	   changeMonth: true,
	   changeYear: true

    });
  });

Open in new window


//the form input
<tr>
  <td>
    Date yyyy-mm-dd:
  </td>
  <td>
  <div>
    <input type=text name=date size=10 id="dp" value="<?php echo $date; ?> ">
 </div>	
  </td>
</tr>

Open in new window



Thanks
0
Comment
Question by:lenamtl
  • 5
  • 4
10 Comments
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 33606653
Try this and see if it gets you anything.

In the PHP code,

$date = date('c');
0
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 33606663
Also, beware of using the word "date" -- this is a reserved word in MySQL so it can trip you up.  I have an article here about PHP and MySQL DATETIME processing.  You may find it helpful.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_201-Handling-date-and-time-in-PHP-and-MySQL.html

Best regards, ~Ray
0
 
LVL 82

Expert Comment

by:leakim971
ID: 33606672
what is the CURRENT format of $date ? Y-m-d ?
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 109

Accepted Solution

by:
Ray Paseur earned 500 total points
ID: 33606687
@leakim971: I think the current format of $date is an empty string.  Our asker wrote, "//PHP code the value = empty"

So once we can put something into the $date variable, the input statement in the form can echo it:
<input type=text name=date size=10 id="dp" value="<?php echo $date; ?> ">

If the date('c') value creates something that appears in the input statement, we can then revise the pattern as needed.  Maybe date('r') will look nicer, or date('Y-m-d'), etc.
0
 
LVL 82

Expert Comment

by:leakim971
ID: 33606690
if the format is YYYY-MM-DD :

you can use and hidden field to get the php string date ;



<tr>
  <td>
    Date yyyy-mm-dd:
  </td>
  <td>
  <div>
    <input type="hidden" name="hdate" size="10" id="hdp" value="<?php echo $date; ?>" />
    <input type="text" name="date" size="10" id="dp" />
 </div>	
  </td>
</tr>

Open in new window

0
 
LVL 82

Expert Comment

by:leakim971
ID: 33606698
@Ray_Paseur, thank you for the information. Did'nt see you last comment before posting.

So I finish to post :


$(document).ready(function(){
    $("#dp").datepicker({
       showOn: 'button',
       buttonImage: 'img/calendar_20.png',
       buttonImageOnly: true,
       dateFormat: 'yy-mm-dd',
	   dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
	   monthNamesShort: ['Jan','Fev','Mar','Avr','Mai','Jui','Jul','Aou','Sep','Oct','Nov','Dec'],
	   firstDay: 1 ,
	   showButtonPanel: false,
	   changeMonth: true,
	   changeYear: true

    });
    var hdp = $("#hdp").val().split("-");
    var dp_year = hpd[0]; 
    var dp_month = hpd[1]; 
    var dp_day = hpd[2]; 
    $("#dp").datepicker("setDate", new Date(parseInt(dp_year), parseInt(dp_month)-1, parseInt(dp_day)));
  });

Open in new window

0
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 33606705
@leakin971: Do you happen to know if the PHP date function can return information in location or language?  (I don't)  It might be nice for our asker if we could give back information in French.
0
 
LVL 82

Expert Comment

by:leakim971
ID: 33606751
>Do you happen to know if the PHP date function can return information in location or language?
No, I don't  know.

>It might be nice for our asker if we could give back information in French.
It's not a good thing for further readers
0
 
LVL 25

Author Closing Comment

by:lenamtl
ID: 33606772
Thanks a lot

I have modified
$date   = '';
to
$date = date('Y-m-d');

and it isworking perfectly
0
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 33606866
Thanks for the points.  Please see this post.  It is in Russian but the language translation concept might port easily to French.
http://us.php.net/manual/en/function.date.php#92090

Best regards, ~Ray
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Chart.js, used properly, can visually add a difference to your charting applications. It engages your visitors and allows them to interact with data they otherwise wouldn't be able to without expensive and complicated systems. For this…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to count occurrences of each item in an array.

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question