ASP.NET <form runat =“server”>打破jQuery </form>

时间:2012-10-31 12:35:44

标签: javascript jquery asp.net

简而言之,当ASP.NET页面具有<form runat=server>标记时,它似乎打破了一些jQuery脚本。这是一个例子:

我有一个非常简单的页面,只有一个复选框,如下所示:

<input type="checkbox" id="myCheckbox01" />

并调用jQuery函数,如下所示:

<script language=javascript>
    $(document).ready(function () {
        $("[type=checkbox]").iphoneStyle();
    });
</script>

请注意,我没有特别提及任何ID。 jQuery调用适用于页面中的所有复选框。

这工作正常,jQuery调用按预期工作。但...

当我将复选框括在ASP.NET表单中时,如下所示:

<form runat="server" id="form1">
    <input type="checkbox" id="myCheckbox01" />
</form>

jQuery调用停止工作,我收到JavaScript错误 “对象不支持属性或方法'iphoneStyle'”

再次请注意,我没有引用任何特定的ID,复选框也不是ASP.NET(runat = server)控件 - 它只是一个普通的旧复选框。

我似乎无法追踪这个问题。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

我有这个问题。 jQuery本身可以工作,但我添加的任何插件都不会。我一直得到“对象不支持财产或方法......”的投诉。解决方案是将对来自Site.Master aspx页面的jQuery插件的引用移动到我使用jQuery插件的“主”页面。我认为通过将所有脚本引用放在Site.Master中我很聪明,但我毕竟太聪明了。

答案 1 :(得分:0)

像这样更改你的脚本。它对我有用

  <script language="javascript">
      $(document).ready(function () {
      $('input:checkbox').iphoneStyle();
      });
  </script>