2013-07-29 189 views
-2

我想知道如何通过AJAX将变量传递给另一个php文件?如何通过AJAX/jQuery传递变量?

必须被传递的变量称为:

$id 

的问题是,我在“pm_form.php”的形式有变量“$ ID”的访问权限。

我的剧本是这样的(这个脚本触发一个模态窗口和模态窗口加载一个名为“pm_form.php”形式):

$(".pm_link").colorbox($.extend(defaults, { 
     initialWidth:'348', 
     initialHeight:'348', 
     innerWidth:'348', 
     innerHeight:'348', 
     type: "POST", 
     href: "<?php echo $setting['site_url'];?>/includes/forms/pm_form.php", 

     onComplete: function(){ 
      $("#cboxLoadedContent").appendTo("#cboxContent"); 

      var title = 'Send Message'; 
      $('#cboxTitle').text(title); 
     } 
    })); 

当我点击我的形式提交按钮的变量'$ id'应该被传递给适当的php文件。

这是我的形式:

<div id="pm_content" class="modal_font_indent"> 
<div id="pm_form"> 
    <form name="form1" method="post" action="<?php echo $setting['site_url']?>/index.php?id=<?php echo $id;?>&task=send_message&done=1"> 

     <div id="pm_subject" class="form_alt_design"> 
      <div id="pm_subject_txt"><label for="message_title">Subject:</label></div> 
      <input type="text" name="message_title" id="message_title" class="pm_subject_textbox" value="" /> 
     </div> 

     <div id="pm_message" class="form_alt_design"> 
      <div id="pm_message_txt"><label for="message">Message:</label></div> 
      <textarea name="message" cols="50" rows="4" id="message" class="pm_message_textbox"></textarea> 
      <div id="pm_chars_left">Characters left:</div> 
     </div>  

     <div id="pm_submit"> 
      <input type="submit" name="Submit" value="" class="pm_button" /> 
     </div> 

    </form> 
</div> 

请 - 任何帮助吗?我不知道很多有关jQuery的/ AJAX :(

解决方案:

我只是附和我的$ id ...

的href:“/includes/forms/pm_form.php?id= ” ......在我pm_form.php,我可以用$ _GET全球为抢ID参数:

的$ id = $ _GET [ '身份证'];

感谢您的帮助! :)

+0

是从PHP或JavaScript的变量。因为它对于这两种语言都是有效的语法。 –

+0

当您点击一个名为'发送下午'的按钮时,会出现一个MODAL窗口。触发模式窗口的脚本是'.pm_link'。该模式窗口加载名为pm_form.php的表单。问题是我无法访问名为'$ id'的变量。基本上我只需要访问该变量,所以我想知道是否有一种方法可以将该变量从一个脚本传递到另一个脚本。 – drpelz

+0

为什么倒票? – drpelz

回答

1

要将变量从一个PHP页面传递到另一个页面,您需要使用POST或GET方法。使用POST ['tag of name']并将其存储在一个单独的变量中。

例如, :$ variable1 = $ _POST [name];

1

由于您发送的值为POST 您可以在另一个页面中将该值读取为$ _POST ['value_from_previous_page'];

这是我使用的形式值发送到另一个页面

function Gonder() 
{ 
    var str = $("form").serialize(); 
    $.ajax({ 
     type: "POST", 
     url: "other_page.php", 
     data: str, 
     success: function(data){ 
      $('#load').fadeOut(); 
      $('#ShowResult').html(data); 
     } 
    }); 
return false; 
} 
1

按照jQuery docs

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: { name: "John", location: "Boston" } 
}).done(function(msg) { 
    alert("Data Saved: " + msg); 
});