2013-03-03 76 views
-1

這篇文章是在後的延續在這個URL Loading Multiple pages on the same page in PHP在PHP在同一頁上加載多個網頁續

對不起,我覺得這是一個新的查詢,所以我想發佈一個新的問題..

謝謝你們烏拉圭回合的投入有..我的核心問題仍然是

「我有一個基本的HTML頁面名爲cwt.html擁有所有的複選框和提交按鈕。一旦提交按鈕後,下一個與選定的複選框(cwt.html)關聯的頁面(例如processing1.php)也應該加載在同一頁面中。「

我用裝載函數調用,即相對固定的問題,但我所面臨的代碼中的另一個顯著問題..這將是巨大的,如果你能幫助我的..

<html> 
<head> 
<title> Conditions We Treat </title> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script> 
$("#submit1").click(function(){ 
$("#form1").load('processing1.php'); 
}); 
</script> 
</head> 
<body> 
    <div id = form1> 
     <input type = "checkbox" name = "sickness[]" value = "Nausea">Nausea</input><br/> 
     <input type = "checkbox" name = "sickness[]" value = "Constipation">Constipation</input><br/> 
     <input type = "checkbox" name = "sickness[]" value = "vomiting">Vomiting</input><br/> 
     <div id = "submit1"><input type = "submit" name = "submit1" value = "submit"></input></div><br/> 

    </div> 
</body> 
</html> 

我需要做的是,當我點擊提交,就應該到另一個頁面,並處理與此頁的價值觀的事情..

的限制我發現這裏是

  1. 當我宣佈形式的行動,一世t趨於到特定頁面,而不是裝在這個頁面,如如果我給<form name = "i1" action = "processing1.php" method = "get">,控制進入processing1.php和內容都在一個新的頁面加載

  2. 如果我不給表單操作,它工作於預期這樣,但我無法保存該頁面的數據..

回答

0

您可能希望這種形式能夠抓住提交 - 事件,然後在通過AJAX新的頁面調用上使用事件偵聽器。 jQuery的API參考會告訴你究竟是如何做到這一點:http://api.jquery.com/submit/

下面是一個例子:

$('#form').submit(function(e) { 
    // prevents the browser from sending the form 
    e.preventDefault(); 
    // loads your nextpage.php into the target with the form-data sent as postdata 
    $('#target').load(
     "nextpage.php", 
     { postdata: $('#form').serialize() } 
    ); 
    return false; 
}); 

.submit()瀏覽器發送表單之前被調用。因此,您可以使用本機功能.preventDefault()來告訴瀏覽器不要對提交事件執行默認操作。然後你可以做你自己的事件處理;在這種情況下:通過AJAX加載您的新頁面並將其附加到當前頁面的某處。

.serialize()將創建一個字符串準備通過AJAX提交例如。 http://api.jquery.com/serialize/

不要忘記,通過AJAX檢索到的HTML是每默認不受初始$(document).ready(function() { /* code here */ });電話,你不得不使用.live()或別的東西將jQuery funtionallity綁定到新的代碼。