2012-12-04 50 views
1

我正在jQuery移動控件。我有一個主頁中的jqgrid,並點擊選定的行ID我重定向到另一個頁面的ID。在那個頁面中,我已經下載了與json綁定的頁面。綁定後,我想單擊按鈕將數據保存到數據庫。jquery移動保存按鈕單擊事件不發射

問題是,按鈕單擊事件不會觸發,但是,當我運行該特定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> 
+0

你可能想用http://jsfiddle.net做一個例子...... – Taifun

回答

0

嘗試將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",並且而不是加載可能在<head>或頁面其他地方的任何資源。

從你的問題和標記,它聽起來像你使用asp.net,沒有看到任何更多的標記/代碼我很確定你的問題是,你沒有必要的代碼鏈接頁面在您的母版頁上。

通常解決這一點,你可以把鏈接頁面的data=role="page"專區內的獨特的內容,或者當你調用的頁面確保網頁完全加載,即沒有AJAX。在你的情況,因爲它看起來像你試圖調用服務器方法創建回發的代碼可能是在第二頁的div之外,在這種情況下,您將需要加載頁面沒有AJAX,最簡單的方法是通過將data-ajax="false"添加到您的鏈接。