SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Enthusiast
    Join Date
    Nov 2008
    Posts
    42
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    JScript - 24hrs with leading zero ...

    Hello:

    I found this great calendar program that has 1 main fault. It does not display 24hrs with the leading zero. I think the below code is the root of the problem. Can anyone help me here please as I know no JScript:

    Code:
    //Time Picker
    
    function tPicker(timeFieldId) {
        var timeField = $(timeFieldId);
        var hhmm;
    
        //compute tpicker coordinates (beneath timeField)
        var x = timeField.offsetLeft + timeField.offsetWidth + 22;
        var y = timeField.offsetTop - 95;
     
        //deal with elements inside tables and such
        var parent = timeField;
        while (parent.offsetParent) {
            parent = parent.offsetParent;
            x += parent.offsetLeft;
            y += parent.offsetTop ;
        }
    
        //If not present, create tpDiv, move it to x,y and toggle visibility
        var tpDiv = createDiv("tpDiv", x, y);
    
         //draw the timepicker table; the timeField object will receive the time
        var html='<div class="tpFrame">';
        var apm = /\s*a/i.exec(tFormat);
        if (apm != null) {
            var am = String(apm).replace("a","am").replace("A","AM"); 
            var pm = String(apm).replace("a","pm").replace("A","PM"); 
        }
        if (apm != null) { html += '- AM -'; }
        for (var i=7;i<24;i++){
            if (i==7) { html += '<div class="tpAM">'; }
            if (i==12 && (apm != null)) { html += '- PM -'; }
            if (i==12) { html += '<div class="tpPM">'; }
            if (i==18) { html += '<div class="tpEM">'; }
            for (var j=0;j<60;j += 15) {
                if (apm != null) {
                    hh = i;
                    ampm = (hh < 12) ? am : pm;
                    if (hh >= 13) { hh -= 12; }
                    hhmm1 = String(hh) + ":" + String("0" + j).slice(-2) + ampm;
                    hhmm2 = String("0" + hh).slice(-2) + ":" + String("0" + j).slice(-2);
                } else {
                    hhmm1 = hhmm2 = String("0" + i).slice(-2) + ":" + String("0" + j).slice(-2)
                }
                html += '<a class="tpPick" href="#" onclick="updateTimeField(\''+timeFieldId+'\', \''+hhmm1+'\');">'+hhmm2+'</a>';
                if (j<45) { html += '&nbsp;&nbsp;'; }
            }
            html += (i==11 || i==17 || i==23) ? '</div>' : '<br>';
        }
        html += '</div>';
        tpDiv.innerHTML = html;
    }
    
    function updateTimeField(timeFieldId, timeString) {
        var timeField = $(timeFieldId);
        if (timeString) { timeField.value = timeString; }
        var tpDiv = $("tpDiv");
        tpDiv.style.visibility = "hidden";
        tpDiv.style.display = "none";
        timeField.focus();
    }
    Last edited by spikeZ; Dec 5, 2012 at 13:00. Reason: Code tags added

  2. #2
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,871
    Mentioned
    206 Post(s)
    Tagged
    12 Thread(s)
    Hi,

    The code you provided seems to be from the "common/dtpicker.js" file bundled with LuxCal: http://www.luxsoft.eu/
    I also see that your question was answered here (amongst other places): http://www.luxsoft.eu/forum/index.php?a=vtopic&t=904


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •