【问题标题】:jquery mobile save button click event not firingjquery mobile保存按钮单击事件未触发
【发布时间】:2012-12-04 13:55:20
【问题描述】:

我正在开发 jQuery 移动控件。我在母版页中有一个 jqgrid,单击选定的行 ID 后,我将重定向到具有该 ID 的另一个页面。在那个页面中,我有下拉列表,它与 json 绑定。绑定后,我想通过单击按钮将数据保存到数据库。

问题是按钮点击事件没有触发,但是,当我自己运行特定的 aspx 时,按钮点击事件确实触发了。

 <a href="#" data-role="button" data-inline="true" id="btnsave"  data-transition="fade" 
      data-theme="b" data-icon="check" data-iconpos="right" runat="server" 
      onserverclick="btnsave_click" >Save</a>

【问题讨论】:

标签: jquery-mobile


【解决方案1】:

尝试将data-ajax="false" 添加到您的链接中。

例如

<a href="#" data-role="button" data-ajax="false" data-inline="true" id="btnsave"
         data-transition="fade" data-theme="b"  data-icon="check" data-iconpos="right" 
         runat="server" onserverclick="btnsave_click" >Save</a>

现在解释一下,default 当您链接到 jQuery Mobile 中的页面时,JQM 通过 ajax 拉入该页面并将其附加到 当前 页面的 DOM。当 JQM 通过 ajax 拉入页面时,它只会拉入 data-role="page" 并且加载可能位于 &lt;head&gt; 或页面其他位置的任何资源。

从您的问题和标记看来,您正在使用 asp.net,而没有看到您的任何标记/代码我很确定您的问题是您没有链接页面所需的代码您的母版页。

通常要解决此问题,您可以将唯一内容放在链接页面的 data=role="page" div 中,或者在调用页面时确保页面已完全加载,即没有 ajax。在您的情况下,因为看起来您正在尝试调用服务器方法,因此创建回发的代码可能在您的第二个页面的 div 之外,在这种情况下,您需要在没有 ajax 的情况下加载页面,最简单的方法是将data-ajax="false" 添加到您的链接中。

【讨论】:

    猜你喜欢
    • 2013-10-14
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2013-01-17
    • 2012-03-14
    • 2011-12-02
    • 2018-11-07
    相关资源
    最近更新 更多