ASP.NET与外部JavaScript文件不兼容

时间:2014-05-01 15:41:06

标签: javascript jquery asp.net

我是一名ASP.NET初学者。我在使用ASP.NET Web表单处理页面上列出的外部JS文件时遇到问题。在外部使用时,jQuery的ASP.NET功能是否有限?

它正在处理复选框上的第一个单击事件,但不处理提交按钮。我使用window.document.onready运行其他测试,例如alert(),没有jquery的警报。我试图改变元素上的CSS并用jQuery操纵DOM。我也没有成功使用这些技术。注意:当我在Web表单上直接使用嵌入式jQuery时,一切正常。

谁回应,谢谢!

// THIS IS WHAT IS IN THE EXTERNAL FILE

$(function(){

    $("#CheckBox1").click(function () { // FIRST FUNCTION WORKS FINE

       $('#Panel1').toggle(!this.checked);

    }); // end click  

    $("#SubmitBtn").click(function () { // CONFIRM ON CLICK IS NOT WORKING

        return confirm("Are you sure you want to submit?");

    }); // end click


}); // end ready

3 个答案:

答案 0 :(得分:1)

如果您在外部文件中,则可能需要使用CSS类而不是按钮ID。按钮ID是动态的,就像另一张海报指出的那样。

而不是$('#SubmitBtn'),您可以使用$(' .cssClassname')

答案 1 :(得分:0)

您是否在提交按钮中使用ASP.NET服务器控件?如果是,则它会自动在客户端生成ID。如果是这种情况,请尝试以下方法:

   $('#<%= SubmitBtn.ClientID%>').click(function () { 
       return confirm("Are you sure you want to submit?");
   }); 
编辑:刚看到这是一个外部文件,因此上述解决方案无效。如果您正在使用和ASP.NET按钮,您可以随时定义一个函数并让它在onClick事件上执行,如下所示:

<asp:Button id="SubmitBtn" onClientClick="myFunction()" runat="server"/>

然后在javascript文件中:

function myFunction() {
    return confirm("Are you sure you want to submit?");
}

答案 2 :(得分:0)

尝试class访问控件..

$(function(){

    $("#CheckBox1").click(function () { // FIRST FUNCTION WORKS FINE

       $('#Panel1').toggle(!this.checked);

    }); // end click  

    $(".class").click(function () { // CONFIRM ON CLICK IS NOT WORKING

        return confirm("Are you sure you want to submit?");

    }); // end click


}); // end ready

此处 Css类

的名称