English 中文(简体)
我如何从这一法典中删除时间?
原标题:How do I remove the time from this code?

I have this code to produce a date/time picker but I only need to use the date picker element of this code.

我将如何从这一法典中删除时间选择要素,并且是否发挥作用?

function show_calendar(str_target, str_datetime) {
var arr_months = ["January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December"];
var week_days = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
var n_weekstart = 1; // day week starts from (normally 0 or 1)

var dt_datetime = (str_datetime == null || str_datetime =="" ?  new Date() : str2dt(str_datetime));
var dt_prev_month = new Date(dt_datetime);
dt_prev_month.setMonth(dt_datetime.getMonth()-1);
var dt_next_month = new Date(dt_datetime);
dt_next_month.setMonth(dt_datetime.getMonth()+1);
var dt_firstday = new Date(dt_datetime);
dt_firstday.setDate(1);
dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7);
var dt_lastday = new Date(dt_next_month);
dt_lastday.setDate(0);

var str_buffer = new String (
    "<html>
"+
    "<head>
"+
    "   <title>Calendar</title>
"+
    "</head>
"+
    "<body bgcolor="White">
"+
    "<table class="clsOTable" cellspacing="0" border="0" width="100%">
"+
    "<tr><td bgcolor="#4682B4">
"+
    "<table cellspacing="1" cellpadding="3" border="0" width="100%">
"+
    "<tr>
 <td bgcolor="#4682B4"><a href="javascript:window.opener.show_calendar( "+
    str_target+" ,  "+ dt2dtstr(dt_prev_month)+" +document.cal.time.value);">"+
    "<img src="prev.gif" width="16" height="16" border="0""+
    " alt="previous month"></a></td>
"+
    "   <td bgcolor="#4682B4" colspan="5">"+
    "<font color="white" face="tahoma, verdana" size="2">"
    +arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+"</font></td>
"+
    "   <td bgcolor="#4682B4" align="right"><a href="javascript:window.opener.show_calendar( "
    +str_target+" ,  "+dt2dtstr(dt_next_month)+" +document.cal.time.value);">"+
    "<img src="next.gif" width="16" height="16" border="0""+
    " alt="next month"></a></td>
</tr>
"
);

var dt_current_day = new Date(dt_firstday);

str_buffer += "<tr>
";
for (var n=0; n<7; n++)
    str_buffer += " <td bgcolor="#87CEFA">"+
    "<font color="white" face="tahoma, verdana" size="2">"+
    week_days[(n_weekstart+n)%7]+"</font></td>
";

str_buffer += "</tr>
";
while (dt_current_day.getMonth() == dt_datetime.getMonth() ||
    dt_current_day.getMonth() == dt_firstday.getMonth()) {

    str_buffer += "<tr>
";
    for (var n_current_wday=0; n_current_wday<7; n_current_wday++) {
            if (dt_current_day.getDate() == dt_datetime.getDate() &&
                dt_current_day.getMonth() == dt_datetime.getMonth())

                str_buffer += " <td bgcolor="#FFB6C1" align="right">";
            else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)

                str_buffer += " <td bgcolor="#DBEAF5" align="right">";
            else

                str_buffer += " <td bgcolor="white" align="right">";

            if (dt_current_day.getMonth() == dt_datetime.getMonth())

                str_buffer += "<a href="javascript:window.opener."+str_target+
                ".value= "+dt2dtstr(dt_current_day)+" +document.cal.time.value; window.close();">"+
                "<font color="black" face="tahoma, verdana" size="2">";
            else 

                str_buffer += "<a href="javascript:window.opener."+str_target+
                ".value= "+dt2dtstr(dt_current_day)+" +document.cal.time.value; window.close();">"+
                "<font color="gray" face="tahoma, verdana" size="2">";
            str_buffer += dt_current_day.getDate()+"</font></a></td>
";
            dt_current_day.setDate(dt_current_day.getDate()+1);
    }

    str_buffer += "</tr>
";
}

This section bilds the forms but when I remover the time element out of the form it doesn t work properly? The date picker will appear but won t close after I remover the time picker element! How do I fix this?

str_buffer +=
    "<form name="cal">
<tr><td colspan="7" bgcolor="#87CEFA">"+
    "<font color="White" face="tahoma, verdana" size="2">"+
    "Time: <input type="text" name="time" value=""+dt2tmstr(dt_datetime)+
    "" size="8" maxlength="8"></font></td></tr>
</form>
" +
    "</table>
" +
    "</tr>
</td>
</table>
" +
    "</body>
" +
    "</html>
";

var vWinCal = window.open("", "Calendar", 
    "width=200,height=250,status=no,resizable=yes,top=200,left=200");
vWinCal.opener = self;
var calc_doc = vWinCal.document;
calc_doc.write (str_buffer);
calc_doc.close();
}


    function str2dt (str_datetime) {     
var re_date = /^(d+)-(d+)-(d+)s+(d+):(d+):(d+)$/;
if (!re_date.exec(str_datetime))
    return alert("Invalid Datetime format: "+ str_datetime);
return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5,    RegExp.$6));
}
function dt2dtstr (dt_datetime) {
return (new String (
    dt_datetime.getFullYear()+"/"+(dt_datetime.getMonth()+1)+"/"+dt_datetime.getDate()));
 }
 function dt2tmstr (dt_datetime) {
return (new String (
dt_datetime.getHours()+":"+dt_datetime.getMinutes()+":"+dt_datetime.getSeconds()));
 }
最佳回答
问题回答

但是,这部法典是可怕的。 最好是完全改写。 我建议:

  • 至少与数据和逻辑分开列报。 最简单(虽然相当粗略)的方法是把所有(有针对性) html留在一起。 不要 app/bu。 获取必要数据含有异构元素,并操纵这些因素,即:

    var $layout = $( <form> +
                         <div/>  +
                         ....
                     </form> ),
        $dateInput = $layout.find( input[name="date"] );
    
    .....
    
    $dateInput.val(date);
    

    ;

  • 更好地利用现有数据方法





相关问题
Mysql compaire two dates from datetime?

I was try to measure what is faster and what should be the best way to compare two dates, from datetime record in MySql db. There are several approaches how to grab a date from date time, but I was ...

iPhone Date Picker rolls over to 2010 on December 27th?

So I implemented a UIDatepicker in one of my applications for scheduling and autodialing teleconferences... everything is pretty much ready to go except, while testing I noticed that when the date ...

Convert date Python

I have MMDDYY dates, i.e. today is 111609 How do I convert this to 11/16/2009, in Python?

specifying date format when using $form->inputs() in CakePHP

I am wondering if there is a way to specify the date format in the forms created using CakePHP s $form->inputs(); Please note that this is not the individual $form->input() but instead $form->inputs() ...

NSDateFormat, super simple! Where am I screwing up?

Ok, this is really simple, maybe I m a getting a bit burnt out, but seems like it should work, Query XML feed, put out date string, format, display in a cell. The issue is I m a getting a NULL ...

sqlite writing a date into an email

I am exporting a date value from sqlite and placing it into an email. The date appears like this 279498721.322872 I am using Objective C in an Iphone App. Does anyone know how to make this export ...

热门标签