Solved

jquery edit in place: start_time, end_time

Posted on 2013-06-01
11
369 Views
Last Modified: 2013-07-25
I have used jquery edit in place
to update mysql database value without refeshing the page for one value

textbox_start_time (datetime mysql)
textbox_end_time (datetime mysql)
time (difference of end_time, start_time) field value in mysql (int seconds)

total_time (sum of all the time)
total time is not a field value in mysql (but maybe I could create if necessary)

is there a way to use jquery_edit_in place to change time, total_time without a screen refresh by just changing start time
0
Comment
Question by:rgb192
11 Comments
 
LVL 58

Expert Comment

by:Gary
ID: 39213381
So basically on change of start time recalculate total time?
What is total time? Hours, minutes, days...?
0
 

Author Comment

by:rgb192
ID: 39213521
total time is int

function str_to_time($int){
$hrs=floor($int/3600);
$mins=($int-$hrs*3600)/60;
$str=$hrs.":".($mins<10?"0".$mins:$mins);
return $str;
}
0
 

Author Comment

by:rgb192
ID: 39229434
int and then taken to a function that returns string in the format hours:minutes
0
 
LVL 51

Accepted Solution

by:
Julian Hansen earned 250 total points
ID: 39231859
Not with inplace editor but fairly simple to do it with standard jquery

Something like this would do it - obviously without seeing your code I can't give you an exact example
$(function() {
  $('#startime').blur(function () {
     $('#totaltime').val($('#endtime').val() - $('#startime').val());
  });
});

Open in new window

0
 
LVL 108

Assisted Solution

by:Ray Paseur
Ray Paseur earned 250 total points
ID: 39234613
I'm not certain I get the question, but I think I might be able to paraphrase.  Let me know if this makes sense.

When the page is loaded, the cursor focus is placed on a "textarea" control.  The start_time is captured at this point.  

When the client moves the cursor away and clicks something else (maybe a "submit" control), the textarea loses focus.  The end_time is captured at this point.

In JavaScript the times are captured in milliseconds according to the time settings of the client computer.  So we would subtract the start_time from the end_time to get the number of elapsed milliseconds, then divide that number by 1,000 to get the number of elapsed seconds.  This would tell us how long it took the client to type or paste the information into the textarea.

Similarly, we could capture the start_time when the document is ready and the computation could tell us how long it took the client to fill out an entire form (not just a single textarea).

Risks to data accuracy:  The client time settings might be wrong, but are usually right, and are usually set to a locale timezone.  And if all we need is elapsed time, we do not need to worry about the client settings.  The client could focus, blur and refocus the textarea several times.  A single start and stop time capture would not account for this.
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:rgb192
ID: 39241544
start_time and end_time are mysql database values for a timesheet program

for example when a worker went to work, and when the worker left work
total_time_day is the difference
already using a defined timezone

total_time is the sum of all the times
0
 

Author Comment

by:rgb192
ID: 39241555
$(function() {
  $('#startime').blur(function () {
     $('#totaltime').val($('#endtime').val() - $('#startime').val());
  });
});

do I have a div called total time

<div id='total time'>
</div>
or
<div class='total time>
</div>
0
 
LVL 51

Expert Comment

by:Julian Hansen
ID: 39242044
do I have a div called total time
I give up - do you?
The id in my post was supposed to refer to an <input /> element. Basically it is saying when the <input id="startime" /> looses focus then calculate the rest.

As I mentioned before I am having to guess how your page is marked up so this may not be right for what you want but it illustrates the principle.
0
 

Author Comment

by:rgb192
ID: 39261192
total_time_day is the difference (many values)

I have a div called total time which is the sum of all the time of many total_time_day
which is one sum of all the times in the column
0
 

Author Closing Comment

by:rgb192
ID: 39356109
this could implement start_time and end time

I have problems using this jquery sample with my code, but I see how it could function.
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Requirements JQuery 1.6+ HTML CSS Introduction This article was inspired by an EE question (http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28372511.html) on how to make a page show some balloons animate up a page…
PROBLEM: The other day I was working on adding an ajax request to a webpage that already had a dialog box on the page.  The dialog box was using relative positioning to be positioned next to a form field I had on the page.  Everything was working…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

746 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now