请教一个问题,我想实现这样的功能: 在网页中新添一个功能:在文本框中显示出当天日期+20天,这个日期我在之前的函数中已经算得了,而且我单独写了一个html文档是可以显示出时间的,但是我把这段代码放入到原来网页的html文档中,这个函数似乎是没有用的,并不执行。只是执行下面的input后面的语句,这是为什么呢?  期待高手的解答。

解决方案 »

  1.   

    你alert一下 看看没有触发 函数的原因~
      

  2.   

    你的函数有问题 楼主贴出详细代码
    或者自己利用alert逐个测试
    如果是.NET还可以利用VS添加断点调试
      

  3.   

      function show(){
        var day20 = 20 * 24 * 60 * 60 * 1000;
        var date = new Date();
        date.setTime(date.getTime()+day20);
        var d = date.getDate();
        var day = (d < 10) ? '0' + d : d;
        var m = date.getMonth() + 1;
        var month = (m < 10) ? '0' + m : m;
        var yy = date.getYear();
        var year = (yy < 1000) ? yy + 1900 : yy;
        var s=year + "/" + month + "/" + day;
          document.getElementById("123").value=s;
       }
      
     </head>
         <body onLoad="show()">
         <input type="text" name="预计完工日期" id="123" ></input>
         </body>上面就是这段代码,不知道是不是放在html中位置出错了还是怎样,大家帮看看。
      

  4.   

    "只是执行下面的input后面的语句,这是为什么呢?"
    最大的可能, <body onLoad="show()">
    这一段你没有写到原来的网页中
      

  5.   

    你不会是没把这个方法放到<script>标签里面吧
      

  6.   

    stayalive 你说的是什么意思呢,这些代码都放到原来网页里了的。
      

  7.   


    <head>
    <script>
    function show(){
      var day20 = 20 * 24 * 60 * 60 * 1000;
      var date = new Date();
      date.setTime(date.getTime()+day20);
      var d = date.getDate();
      var day = (d < 10) ? '0' + d : d;
      var m = date.getMonth() + 1;
      var month = (m < 10) ? '0' + m : m;
      var yy = date.getYear();
      var year = (yy < 1000) ? yy + 1900 : yy;
      var s=year + "/" + month + "/" + day;
      document.getElementById("123").value=s;
      }
      </script>
     </head>
      <body onLoad="show()">
      <input type="text" name="预计完工日期" id="123" ></input>
      </body>
    是不是漏些<script>了
      

  8.   

    “你不会是没把这个方法放到<script>标签里面吧”
    放在<script>标签对里了的。是放在<head>里的。
      

  9.   


    <script language="javascript" type="text/javascript">
    function show(){
      var day20 = 20 * 24 * 60 * 60 * 1000;
      var date = new Date();
      date.setTime(date.getTime()+day20);
      var d = date.getDate();
      var day = (d < 10) ? '0' + d : d;
      var m = date.getMonth() + 1;
      var month = (m < 10) ? '0' + m : m;
      var yy = date.getYear();
      var year = (yy < 1000) ? yy + 1900 : yy;
      var s=year + "/" + month + "/" + day;
      document.getElementById("123").value=s;
      }
    </script>楼主你不会是忘记写script标签吧?一般这样是不会报错的,楼主你的浏览器是什么的报错吗?如果报错,会提示什么地方错了的,你看看
      

  10.   


    网页的代码很长很长
    我粘其中的一部分吧:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <!-- saved from url=(0184)http://www.supportcenter.cn/testhtml/Lists/ty1/NewForm.aspx?RootFolder=%2Ftesthtml%2FLists%2Fty1&Source=http%3A%2F%2Fwww%2Esupportcenter%2Ecn%2Ftesthtml%2FLists%2Fty1%2FAllItems%2Easpx -->
    <HTML dir=ltr xmlns:o = "urn:schemas-microsoft-com:office:office"><HEAD><TITLE>ty1 - 新建项目</TITLE>
    <META content="MSHTML 6.00.2900.5945" name=GENERATOR>
    <META content=SharePoint.WebPartPage.Document name=progid>
    <META http-equiv=Content-Type content="text/html; charset=utf-8">
    <META http-equiv=Expires content=0>
    <META content=NOHTMLINDEX name=ROBOTS><LINK href="ty1 - 新建项目.files/core.css" 
    type=text/css rel=stylesheet>
    <SCRIPT language=javascript src="ty1 - 新建项目.files/init.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/core.js" defer 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/portal.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/ie55up.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/form.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/SpellCheckEntirePage.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/Serialize.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/search.js" defer 
    type=text/javascript></SCRIPT>
    <LINK href="/testhtml/_vti_bin/spsdisco.aspx" type=text/xml rel=alternate>
    <STYLE type=text/css>.zz1_TopNavigationMenu_0 {
    DISPLAY: none; LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: 0px; BACKGROUND-COLOR: white
    }
    .zz1_TopNavigationMenu_1 {
    TEXT-DECORATION: none
    }
    .zz1_TopNavigationMenu_2 {

    }
    .zz1_TopNavigationMenu_3 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_4 {

    }
    .zz1_TopNavigationMenu_5 {

    }
    .zz1_TopNavigationMenu_6 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_7 {

    }
    .zz1_TopNavigationMenu_8 {
    BORDER-RIGHT: #a7b4ce 1px solid; BORDER-TOP: #a7b4ce 1px solid; BORDER-LEFT: #a7b4ce 1px solid; BORDER-BOTTOM: #a7b4ce 1px solid; BACKGROUND-COLOR: #f2f3f4
    }
    .zz1_TopNavigationMenu_9 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_10 {

    }
    .zz1_TopNavigationMenu_11 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_12 {

    }
    .zz1_TopNavigationMenu_13 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_14 {

    }
    .zz1_TopNavigationMenu_15 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_16 {
    BACKGROUND-COLOR: #cbe3f0
    }
    .ctl00_PlaceHolderMain_Main_0 {
    BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid
    }
    </STYLE> <script language="javascript" type="text/javascript">
     function show(){
     var day20 = 20 * 24 * 60 * 60 * 1000;
     var date = new Date();
        date.setTime(date.getTime()+day20);
     var d = date.getDate();
     var day = (d < 10) ? '0' + d : d;
     var m = date.getMonth() + 1;
     var month = (m < 10) ? '0' + m : m;
     var yy = date.getYear();
     var year = (yy < 1000) ? yy + 1900 : yy;
     var s=year + "/" + month + "/" + day;
       document.getElementById("ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate").value=s;
        
     }
     </script><
    HEAD>
    ............
    <TD class=ms-formbody vAlign=top width=400><!-- FieldName="预计完工日期"
     FieldInternalName="_x9884__x8ba1__x5b8c__x5de5__x65"
     FieldType="SPFieldDateTime"
      --><SPAN dir=none>
                                    <SCRIPT language=javascript>g_strDateTimeControlIDs["SP_x9884__x8ba1__x5b8c__x5de5__x65"] = "ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate";</SCRIPT>                                <TABLE cellSpacing=0 cellPadding=0 border=0>
                                    <TBODY>
                                    <TR>
                                    <TD class=ms-dtinput><LABEL 
                                    style="DISPLAY: none" 
                                    for=ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate>预计完工日期 
                                    日期</LABEL>
    <body onLoad="show()">
                                 
    <input class=ms-input  type=text 
                                   id=ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate 
                                    title=预计完工日期 maxLength=45                                               
                                    name=ctl00$m$g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641$ctl00$ctl04$ctl03$ctl00$ctl00$ctl04$ctl00$ctl00$DateTimeField$DateTimeFieldDate 
                                    AutoPostBack="0"></TD> 
    </body>
                                    <TD class=ms-dtinput><A 
                                    onclick='clickDatePicker("ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate", "\u002ftesthtml\u002f_layouts\u002fiframe.aspx?&amp;cal=1&amp;lcid=2052&amp;langid=2052&amp;tz=07:59:59.9991795&amp;ww=0111110&amp;fdow=0&amp;fwoy=0&amp;hj=0&amp;swn=False&amp;minjday=109207&amp;maxjday=2666269&amp;date=", ""); return false;' 
                                    href="http://www.supportcenter.cn/testhtml/Lists/ty1/NewForm.aspx?RootFolder=%2Ftesthtml%2FLists%2Fty1&amp;Source=http%3A%2F%2Fwww%2Esupportcenter%2Ecn%2Ftesthtml%2FLists%2Fty1%2FAllItems%2Easpx#"><IMG 
                                    id=ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDateDatePickerImage 
                                    alt=从日历中选择一个日期。 
                                    src="ty1 - 新建项目.files/calendar.gif" 
                                    border=0></IMG></A></TD><IFRAME 
                                    id=ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDateDatePickerFrame 
                                    title=从日历中选择一个日期。 
                                    style="DISPLAY: none; Z-INDEX: 101; WIDTH: 200px; POSITION: absolute" 
                                    src="ty1 - 新建项目.files/blank.gif" frameBorder=0 
                                    scrolling=no></IFRAME></TR></TBODY></TABLE></SPAN></TD></TR>
                                    <TR id=idAttachmentsRow>
                                    <TD class=ms-formlabel vAlign=top noWrap 
                                    width="20%"><NOBR>附件</NOBR> </TD>
                                    <TD class=ms-formbody vAlign=top 
                                    width="80%"><SPAN dir=none>
                                    <TABLE id=idAttachmentsTable cellSpacing=0 
                                    cellPadding=0 border=0>
                                    <TBODY></TBODY></TABLE></SPAN>
                                    <SCRIPT>
            var elm = document.getElementById("idAttachmentsTable");
            if (elm == null || elm.rows.length == 0)
                document.getElementById("idAttachmentsRow").style.display='none';
            </SCRIPT>上面就是部分的代码
      

  11.   

    上面贴错了,不好意思。。
    <SCRIPT language=javascript src="ty1 - 新建项目.files/init.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/core.js" defer 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/portal.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/ie55up.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/form.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/SpellCheckEntirePage.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/Serialize.js" 
    type=text/javascript></SCRIPT><SCRIPT language=javascript src="ty1 - 新建项目.files/search.js" defer 
    type=text/javascript></SCRIPT>
    <LINK href="/testhtml/_vti_bin/spsdisco.aspx" type=text/xml rel=alternate>
    <STYLE type=text/css>.zz1_TopNavigationMenu_0 {
    DISPLAY: none; LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: 0px; BACKGROUND-COLOR: white
    }
    .zz1_TopNavigationMenu_1 {
    TEXT-DECORATION: none
    }
    .zz1_TopNavigationMenu_2 {

    }
    .zz1_TopNavigationMenu_3 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_4 {

    }
    .zz1_TopNavigationMenu_5 {

    }
    .zz1_TopNavigationMenu_6 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_7 {

    }
    .zz1_TopNavigationMenu_8 {
    BORDER-RIGHT: #a7b4ce 1px solid; BORDER-TOP: #a7b4ce 1px solid; BORDER-LEFT: #a7b4ce 1px solid; BORDER-BOTTOM: #a7b4ce 1px solid; BACKGROUND-COLOR: #f2f3f4
    }
    .zz1_TopNavigationMenu_9 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_10 {

    }
    .zz1_TopNavigationMenu_11 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_12 {

    }
    .zz1_TopNavigationMenu_13 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_14 {

    }
    .zz1_TopNavigationMenu_15 {
    BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
    }
    .zz1_TopNavigationMenu_16 {
    BACKGROUND-COLOR: #cbe3f0
    }
    .ctl00_PlaceHolderMain_Main_0 {
    BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid
    }
    </STYLE> <script language="javascript" type="text/javascript">
     function show(){
     var day20 = 20 * 24 * 60 * 60 * 1000;
     var date = new Date();
        date.setTime(date.getTime()+day20);
     var d = date.getDate();
     var day = (d < 10) ? '0' + d : d;
     var m = date.getMonth() + 1;
     var month = (m < 10) ? '0' + m : m;
     var yy = date.getYear();
     var year = (yy < 1000) ? yy + 1900 : yy;
     var s=year + "/" + month + "/" + day;
       document.getElementById("ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate").value=s;
        
     }
     </script>
    </HEAD>
    ......
    ......
    <TD class=ms-formbody vAlign=top width=400><!-- FieldName="预计完工日期"
     FieldInternalName="_x9884__x8ba1__x5b8c__x5de5__x65"
     FieldType="SPFieldDateTime"
      --><SPAN dir=none>
                                    <SCRIPT language=javascript>g_strDateTimeControlIDs["SP_x9884__x8ba1__x5b8c__x5de5__x65"] = "ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate";</SCRIPT>                                <TABLE cellSpacing=0 cellPadding=0 border=0>
                                    <TBODY>
                                    <TR>
                                    <TD class=ms-dtinput><LABEL 
                                    style="DISPLAY: none" 
                                    for=ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate>预计完工日期 
                                    日期</LABEL>
    <body onLoad="show()">
                        <input class=ms-input  type=text 
                                   id=ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate 
    title=预计完工日期 maxLength=45                                               
    name=ctl00$m$g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641$ctl00$ctl04$ctl03$ctl00$ctl00$ctl04$ctl00$ctl00$DateTimeField$DateTimeFieldDate 
    AutoPostBack="0"></TD> 
    </body>
      

  12.   

    你代码有多少个  ? <body
      

  13.   


    具体情况是这样的:
    我这里是用MOSS(Microsoft Office Sharepoint Server )做的一个内部协作平台,我电脑是客户端,现在是要在里面的一个页面上新添一个功能。而现在该页面的框架什么的都完成了,现在要让一个文本框显示出日期。我单独用JS写的代码,打开是可以实现的,文本框里是能够显示出日期的,但是放在这个网页的html文档中就没有效果了。
      

  14.   

     
    啊?是单独运行出一个页面来是么,单独的话我这里也可以显示的,但就是放在原始的页面里没有效果。似乎是function show()这个函数没有调用,只是按照正常顺序执行到input。关键现在计算的值不能传到文本框中好奇怪啊
      

  15.   

    来个笨办法:
    在原始的页面里,
    <html>
    <head>
    '第一行加:
    debugger;
    ......
    ......
    </head>IE打开网页,有提示时点确定/是;然后F11单步调试一下,看看问题所在
      

  16.   


    IE没有报错。 我是将网页保存下来,保存为:F:\5.11\ty1 - 新建项目.htm ,然后在这个文档里加代码,然后没有反应,这个地方是不是会有问题??
      

  17.   

    1、你机器上装了OFFICE吗?如果装了在本机、如果没装,找台有OFFICE环境的机器调试一下:2、设置IE浏览器:工具--INTERNET选项--高级,去掉“禁用脚本调试(ie)”、“禁用脚本调试(其他)”和“显示友好HTTP错误信息”前面的钩;3、用IE浏览器打开这个网页;4、当有提示出现的时候选择是,进入调试器界面;5、F11单步执行,看看错误在哪里 
      

  18.   

    <body onLoad="show()">
    <input class=ms-input type=text 
    id=ctl00_m_g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641_ctl00_ctl04_ctl03_ctl00_ctl00_ctl04_ctl00_ctl00_DateTimeField_DateTimeFieldDate 
    title=预计完工日期 maxLength=45 
    name=ctl00$m$g_6f8d6e6a_ddbb_4699_88b2_f396c12e8641$ctl00$ctl04$ctl03$ctl00$ctl00$ctl04$ctl00$ctl00$DateTimeField$DateTimeFieldDate 
    AutoPostBack="0"></TD> </body>
    楼主看看这个吧