2011-01-27 76 views
2

我需要一些幫助,我做了這個PHP腳本,它發佈完美,但如預期的刷新整個頁面,我需要刷新這個PHP文件,並返回所選城市的結果和選擇=「選擇」選項窗體,所以我可以使用它多次我想要的,但部分刷新,而不是整個網站。提前致謝。 下面是代碼:如何把Ajax放在這個php代碼中?

<?php 
$city='London'; 
$selected= array('selected="selected"','',''); 
if(isset($_POST["cities"])){ 
    $city=$_POST["cities"]; 
    switch($city) 
    { 
     case 'London': $selected[0]='selected="selected"'; $selected[1]=''; $selected[2]=''; break; 
     case 'Manchester': $selected[0]=''; $selected[1]='selected="selected"'; $selected[2]=''; break; 
     case 'Liverpool': $selected[0]=''; $selected[1]=''; $selected[2]='selected="selected"'; break; 
     default: break; 
    } 
} 
?> 
<html> 
<head> 
</head> 
<body> 
<div id="change"> 
<form name="ch_city" id="ch_city" method="post"> 
    <select name="cities" id="cities" onchange="document.ch_city.submit();"> 
     <option value="London" <?php echo $selected[0]; ?>>London</option> 
     <option value="Manchester" <?php echo $selected[1]; ?>>Manchester</option> 
     <option value="Liverpool" <?php echo $selected[2]; ?>>Liverpool</option> 
    </select> 
</form> 
<p>You've chosen: <?php echo $city; ?>.</p> 
</div> 
</body> 
</html> 

回答

1

在做AJAX工作,特別是初學者的JavaScript庫,強烈建議,將確保你的代碼是跨瀏覽器兼容,並處理了很多骯髒的工作。 jQuery通常是一個很好的開始。該文檔非常好,可以將您的JavaScript需求分類。這個想法基本上是你可以從服務器加載數據而無需刷新頁面。祝你好運!

+0

感謝您的回覆,我試着用JQuery,但沒有成功,我寫在這裏,但我發現這個http://www.dhtmlgoodies.com/index.html?whichScript=form-submit 再次感謝,我必須儘快學習jQuery,所以我不會陷入這樣的困境:/ – john 2011-01-27 15:10:01

+0

閱讀文檔和閱讀示例幫助了我很多。 – Sam152 2011-01-27 15:33:04

0

我想你誤解了什麼是Ajax。 Ajax本質上是一對JavaScript函數。 Javascript是一種客戶端技術,因此PHP不能被「放在php中」,因爲PHP是在服務器端執行的。

編輯:像我之前的海報,我建議查看Jquery,它可以幫助一大堆Web初學者。

+0

也許我沒有充分表達自己,我知道這些技術是什麼,我找到了解決方案。感謝回覆。是的,我必須學習jQuery,對於像我這樣的ajax等初學者來說,這樣做更容易。 – john 2011-01-27 15:11:59

1

約翰,你的問題比看起來複雜一點。

我在這裏看到的根本問題是你的代碼的結構。雖然看到PHP與HTML混合並將一些JavaScript整合到一個文件中是非常常見的,但它是一種災難的方法,並且不會擴展。在這種情況下,它不會縮放以使頁面更加AJAX-y。

您應該將PHP從HTML和HTML中分離出來。分開來說,我的意思是你應該有一個只包含PHP的PHP文件和一個HTML文件,它具有大部分HTML(除了一些PHP或其他模板指令來告訴它,例如,「這個選項標籤應該是被選中「)。

我不會建議你自己嘗試並實現所有這些,我建議的是看看CakePHP這樣的框架,爲你做這種分離並指導/強迫你做事情「正確的方式。」主要框架有相當大的社區,並且有很好的文檔記錄,所以當你遇到像「我如何AJAX這個動作?」這樣的問題時很可能有人已經完成了它,並且該框架支持它。

對不起,我沒有回答你的實際問題,但我覺得這個答案會幫助你解決更多的問題。