2013-04-20 15 views
0

我試圖以編程方式打開jQuery對話框。我可以打開對話框,但我無法將發佈數據發送到對話框。打開帶有Post數據的jQuery對話框

這是代碼。

HTML:

<div data-role="page" id="rename-dialog"> 
     <?php 
      $current_group = $_POST['gr_name']; 
      $current_code = $_POST['gr_code']; 
      $current_id = $_POST['in_id']; 
     ?> 

     <div data-role="header" data-theme="d" class="ui-header ui-bar-d" role="banner"> 
      <a href="#main-page" class="ui-btn-left ui-btn ui-shadow ui-btn-corner-all ui-btn-icon-notext ui-btn-up-d" data-icon="delete" data-iconpos="notext" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="d" title="Close" ktbt_p_pass="1"> 
       <span class="ui-btn-inner"> 
        <span class="ui-icon ui-icon-delete ui-icon-shadow">&nbsp;</span> 
       </span> 
      </a> 
      <h1 class="ui-title" role="heading" aria-level="1">Rename <?php echo $current_group; ?></h1> 
     </div> 

     <div data-role='content'> 
      <form id='rename-group-form' action='' method='post'> 
       New name for <?php echo $current_group; ?>: <input type='text' name='new-group-name'><br> 
       <input id='rename-submit' type='submit' data-theme='b' value='Rename'></input> 
      </form> 
     </div> 
</div> 

JAVASCRIPT:

var g_code = parseInt($(this).attr("id")); 
var i_id = parseInt($(this).attr("value")); 
var g_name = $(this).attr("text"); 

$.mobile.changePage("#rename-dialog", {transition: 'slideDown', role: 'dialog'}, { 
     type: "post", 
     data: {gr_code: 'test', in_id: 'test', gr_name: 'test'} 
}); 

基本上這個打開的對話框中,但我得到一個錯誤,該指標g_code,in_in和gr_name是不確定的。

我在做什麼錯?

回答

0

假設所有相關的代碼在你的問題是出...

既然你有得到的值g_code,i_id代碼,並g_name任何塊外,$(這)不是定義。例如,在這種情況下:

$("#item").click(function() { 
    var item_id = $(this).attr("id"); 
}); 

$(這)將是一個參考的DOM元素與「項目」的ID,因爲選擇是「#item」。

如果您提出的問題的代碼不在選擇器塊內部,需要將它移入一個選擇器,或者您需要用實際選擇器替換「this」以獲取DOM元素你要。

如果這些答案都不適用,請張貼更多的代碼以提供更好的背景。

+0

我將變量更改爲常量,但發生同樣的問題。請參閱問題中代碼中的編輯。 – aagarwal 2013-04-20 21:39:12

+0

由於您將它們更改爲常量,因此您獲取該消息意味着這些變量在其他地方使用。檢查他們使用的地方。 – nikeaa 2013-04-20 22:15:31

+0

我檢查了代碼,他們沒有在別的地方使用過。 – aagarwal 2013-04-21 00:49:50