2013-05-22 36 views
0

我有以下代碼:如何加載一個php網頁併發送該php網頁而不刷新?

<body> 
    <ul id = "nav"> 
     <textarea rows="0" cols="0" name="textBoxStuff" maxlength="0" value="">10</textarea> 
     <li><a href="test2">Home</a></li> 
     <li><a href="test3">About us</a></li> 
     <li><a href="test4">Contact</a></li> 
    </ul> 
    <div id="content"> 
    <script src="jquery.js"></script> 
    <script src="general.js"></script> 
    </div> 
</body> 

當我點擊任何鏈接,將負載general.js它具有以下代碼:

$(document).ready(function() { 
    $('#content').load('content/test1.php'); 
    $('ul#nav li a').click(function(){ 
     var page = $(this).attr('href'); 
    $('#content').load(page + '.php'); 
     return false; 
}); 
}); 

這將然後加載從TEST2內容.php或test3.php或test4.php。這取決於我按哪個鏈接。它會加載內容而不刷新我想要的網頁。但是,在我的test2.php文件中,我希望它輸出在主頁上的文本框中寫入的內容。

這是test2.php代碼:

<?php 
    $textBoxStuff = $_POST['textBoxStuff']; 
    echo $testBoxStuff; 
    echo '<h1>Home</h1>'; 
?> 

所以這個詞有「家」被正確顯示出來,當我點擊主頁上的主頁,但我不知道如何發送$ _POST [ 'textBoxStuff'];到test2.php文件。 $ _POST ['textBoxStuff']應該等於主網頁上textarea內的任何內容。所以我的問題是,如果有人知道如何將數據從主頁中的文本框發送到我的test2.php文件,而不刷新網頁,所以使用jQuery。

回答

0

您需要在​​方法中添加第二個參數來告訴jQuery要發送到服務器的內容。
例如:

$('#content').load(page + '.php', { 
     textBoxStuff: document.getElementsByName("textBoxStuff")[0].value 
}); 
+0

的textBoxStuff:document.getElementsByName( 「textBoxStuff」)[0]。價值是不工作的,但我加在文本框的ID,並使用textBoxStuff:的document.getElementById( 「invisTest」)。價值,現在它工作。你幫了很多人。我實際上試圖自己弄清楚這個問題8個小時,直到我終於讓堆棧溢出。 – user2400240