页面最后用了一个ImageButton来提交:<asp:ImageButton runat="server" id="Ibtn_OK" ImageUrl="images/ok.gif" OnClientClick="return checkPage();"
 OnClieck="Ibtn_OK_Click"/>checkPage()是jsp函数,做的提交内容检查,js文件放在<body>之后<form>之前:
<body>
<script src="jscript/JScript.js" type="text/jscript"/>
<from id="Form1" method="post" runat="server"/>
结果,提交后可以执行checkPage()函数,但服务器端的Ibtn_OK_Click()事件就是不被执行,为什么啊??
还有,页面最后还有一个reset按钮:
<image onclick="Form1.reset();" src="images/cancel.gif" alt="重置"/>
只要是加入<script src="jscript/JScript.js" type="text/jscript"/>这段代码,就会提示找不到对象Form1,这又是为什么??

解决方案 »

  1.   

    OnClieck 不是这么拼写的 是不是打错了另外OnClientClick和OnClick最终都会生成到input的onclick事件中,查看一下页面源文件,看看onclick中的代码,分析一下原因
      

  2.   

    OnClieck="Ibtn_OK_Click"/>checkPage 是 JSP函数?如果 checkPage是 JS函数,当其 返回值是 false时,就不会发生提交,因此也不会触发 btn_OK_Click事件,应该检查返回值。reset按钮中的 onclick 不能那样写, 因为 Form1 只是设计时的,在浏览的时候他的 ID/Name会变,你可以查看源码看看那个 form在浏览时的 ID是什么, 在 ASP.net中, 可以通过 Form1.ClientID来获取。
      

  3.   

    OnClieck="Ibtn_OK_Click"
    ======================
    OnClick="Ibtn_OK_Click"
      

  4.   

    OnClieck是我打错了,不好意思。
    页面源文件中的onclick代码为;"return checkPage();"好像没有服务器端事件吧~
    Form1在源码中的id还是Form1~
      

  5.   

    ImageUrl="images/ok.gif" OnClientClick="return checkPage();"
    OnClick="Ibtn_OK_Click"/
      

  6.   

    checkPage返回值是true时也不发生提交~
      

  7.   

    <script src="jscript/JScript.js" type="text/jscript"/>
    =======================================================
    <script language="JavaScript" type="text/javascript" charset="gb2312" src="jscript/JScript.js"></script>只要是加入<script src="jscript/JScript.js" type="text/jscript"/>这段代码,就会提示找不到对象Form1,这又是为什么??
    ===========================================================
    我估计你的表单的名字应该是 form1而不是Form1上面的代码我测试过没有出现楼主的问题
      

  8.   

    <asp:ImageButton runat="server" id="Ibtn_OK" ImageUrl="images/ok.gif" OnClientClick="return checkPage();"
     OnClieck="Ibtn_OK_Click"/>>>>>>>// .aspx
    <asp:ImageButton runat="server" id="Ibtn_OK" ImageUrl="images/ok.gif" OnClientClick="if(!checkPage()) return;"
     OnClick="Ibtn_OK_Click"/>// .aspx.cs
    void Ibtn_OK_Click(object sender, EventArgs e)
    {
        // your server codes
        // ...
    }
      

  9.   

    刚才把<script src="jscript/JScript.js" type="text/jscript"/>这行删了,<asp:ImageButton runat="server" id="Ibtn_OK" ImageUrl="images/ok.gif" OnClientClick="return checkPage();"
     OnClick="Ibtn_OK_Click"/>中的OnClientClick去掉重新编译,再恢复,再重新编译,现在好了,可以执行checkPage(),然后再执行服务器代码,但是js文件中另一个函数原来可以执行的现在不能执行了,提示对象未定义错误,真是一波未平一波又起啊~ASP.NET,叫我如何信任你?!