2012-01-20 11 views
0

我使用的Android 2.2,的PhoneGap 1.3,和jQuery移動1.0顯示的是從一個單獨的HTML文件的對話框,並傳遞一個參數

我在其中存在與列表中的元素的列表視圖,我想用來創建一個對話框。我希望我的對話框被定義在一個單獨的文件中,以便我可以重用它,並且我希望它根據我傳遞的值設置標題。

我的對話框看起來是這樣的:

<!DOCTYPE HTML> 
<html> 
<head> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $("#title").append(SMSPLUS.queryString("title")); 
}); 
</script> 
<title>Dialog</title> 
</head> 
<body> 
<div data-role="page" class="ui-page-z"> 
     <div data-role="header" data-theme="z" class="ui-bar-z"> 
    <h1 id="title"></h1> 
    </div> 
    <div data-role="content"> 
     ... 
    </div> 
</div> 
</body> 
</html> 

我一直在使用的標題參數#href嘗試(定義見下文),對話框打開,但標題參數是不存在的。

<ul data-role="listview" data-theme="a"> 
    ... 
    <li><a href="dialog.html?title=blah" data-rel="dialog"/></li> 
    ... 
</ul> 

我已閱讀,我可以用一個data-url,但在這種情況下,我把它定義(在<a>或在<div>它包裝它),我如何提取這在對話框頁面尚不清楚。

編輯

的機制在一個標準的瀏覽器,但沒有造型的作品記錄。

回答

1

我在下面的<script>標記中創建了腳本,它監聽頁面顯示事件並更新輸入的標題和佔位符。

<div data-role="page" class="ui-page-z"> 
    <div data-role="header" data-theme="z" class="ui-bar-z"> 
     <h1 id="title"> 
     </h1> 
    </div> 
    <div data-role="content"> 
     <input placeholder="Type here..." id="configtext"> 
     </input> 

    ... 

    <script type="text/javascript"> 
     $("div.ui-page-z").live("pageshow", function(event, ui) { 
      var dataUrl = $(".ui-page-active").attr("data-url"); 
      $("#title").empty(); 
      $("#title").append(SMSPLUS.getValue("title", dataUrl)); 
      $("#configtext").attr("placeholder", SMSPLUS.getValue("placeholder", dataUrl)); 
        }); 
    </script> 
</div> 

放置在首部(大概是因爲框架花費對話框沒有標題的通知)

0

你可以嘗試刪除

<!DOCTYPE HTML> 
<html> 
<head> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $("#title").append(SMSPLUS.queryString("title")); 
}); 
</script> 
<title>Dialog</title> 
</head> 
<body> 
</body> 

,只有在你的Ajax調用返回正文中的HTML &的JavaScript。在一個DOMS中可能會混淆瀏覽器。

+0

說,在文檔對話框時未檢測到腳本應定義爲一個完整的HTML文檔 – zode64

相關問題