2013-04-20 39 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