我在asp.net的网页里引用了一个js文件,用以在页面上弹出日历控件供用户选择后为文本框赋值。日历控件倒是能正常使用,就是页面上的提交按钮不能用了(不触发onclick事件了),我再把js文件的引用注释掉,页面的按钮就能用了,请问这是怎么回事呢?
代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>测试</title>    <script src="js/date.js" type="text/javascript"></script></head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox2" runat="server" onclick="MyCalendar.SetDate(this)"></asp:TextBox>
        <hr />
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" Width="158px" />
    </div>
    </form>
</body>
</html>

解决方案 »

  1.   

    挺奇怪的,可能是表单提交混乱了,你换成这句试试
     <asp:TextBox ID="TextBox2" runat="server" onclick="javascript:MyCalendar.SetDate(this)"> </asp:TextBox>
      

  2.   

    现在的问题是,Button事件执行后,再次单击textbox2时日历控件不出来,报脚本错误,说是this.GetDateLayer().document 为空或不是对象
      

  3.   

    你button执行了什么事件?我也遇到过,可能是编码问题,操作如下:文件----高级保存选项-------utf-8(无签名)-----试试吧
      

  4.   

    Button事件可以执行了,现在的问题是当第二次单击textbox时,日历控件不出来,报脚本错误
      

  5.   

    这明显是的js文件的问题,去看看你的js文件吧
      

  6.   

    我换好几个日历控件了,都报同样的错误  包括My97DatePicker 也报同样的错误说是document.defaultview为空或不是对象
      

  7.   

    页面没看出问题,是否是其他影响的如兼容性问题
    <script language="javascript" type="text/javascript" src="My97DatePicker/WdatePicker.js"></script><div>
       <asp:TextBox id="txtStartTime" onfocus="new WdatePicker(this,null,false,'whyGreen')" runat="server" Width="120px"></asp:TextBox>
     </div>
     
      

  8.   

    你的button事件执行了什么?贴出来看看
      

  9.   

    Button事件里什么也没写,只是response.write()   输出一句话
      

  10.   

    文件----高级保存选项-------utf-8(无签名)-----试试吧 
    这个没不起作用呀
      

  11.   

    举个例子
    比如说calendar.js  文件里的实现日历功能的主调函数是function calendar() 
    只需一个calendar.js文件,一个textbox控件,在控件里引用该方法。.
    .
    .
    <head>
    <script language="JavaScript" src="js/calendar.js"></script>
    </head>
    .
    .
    .</td><asp:textbox id="TB_Birthday" runat="server" Width="150px" onfocus="calendar()">1980-01-01</asp:textbox></td>
    不需要用到button就能实现,点击textbox弹出日历控件,选择你的日期并点击实现日期选取,日历消失,当你再度点击该textbox日历重新弹出。
      

  12.   

    怎么就不明白我的意思呢Button事件执行以后
    第二次单击textbox日历控件不出来,网页脚本报错