我是一個相對的新手和解決的AJAX編碼問題一直不成功,所以我想我會提交此爲您的專家幫助:直接將一個PHP變量到AJAX腳本,而不需要表單提交
當前設置:(提交的表單AJAX腳本日期值)
選擇的值(這是一個日期)從下拉列表的形式通過其在同一頁面上調用一個Ajax腳本onchange事件提交的主頁上然後將該值傳遞給一個單獨的PHP文件(getuser.php)。 Getuser.php獲取此日期值以從MySQL數據庫中返回顯示在表中的信息。隨後,getuser.php中的表格將作爲JavaScript「滑翔機」的一部分顯示在div標籤(tab1)的主頁面中。這在目前的形式下工作正常,但這不是我最終想要完成的。
所需的設定:(傳遞給Ajax的腳本從預定義的PHP變量上主頁加載,而不是從形式日期值)
上的裝入主頁,所需的日期值已被分配給一個PHP變量($ mydate),因此不需要單獨選擇日期或傳遞此選定日期。所有需要做的就是自動將PHP變量$ mydate傳遞給頁面加載的AJAX腳本,該腳本應該將該值合併到URL中,並自動將其發送到getuser.php(在主頁面加載),而無需通過用戶定義的表單選擇。
這是主頁上的電流AJAX腳本(通過表單提交方法正常工作):
<script type="text/JavaScript">
function showUser(str)
{
if (str=="")
{
document.getElementById("tab1").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("tab1").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}
</script>
這是主頁上的目前的形式,目前選擇的日期和它傳遞給AJAX腳本..:
<form>
<SELECT NAME="" onchange="showUser(this.value)">
<option value="">Select a date:</option>
<option value="2012-09-26">2012-09-26</option>
<option value="2012-09-25">2012-09-25</option>
<option value="2012-09-07">2012-09-07</option>
<option value="2012-09-08">2012-09-08</option>
<option value="2012-08-01">2012-08-01</option>
<option value="2012-08-04">2012-08-04</option>
</SELECT>
</form>
..但在PHP變量$ mydat當前的日期已經被設置在主要頁面加載e,所以表單不是必需的。
輔助頁面getuser.php獲取傳遞的URL($ q = $ _ GET [「q」];)的值,並使用它顯示錶中MySQL數據庫的信息。
<div id="glider"><div class="controls">
<a href="#tab1">Tab 1</a> |
<a href="#tab2">Tab 2</a> |
<a href="#tab3">Tab 3</a> |
<a href="#tab4">Tab 4</a></div>
<div class="scroller"><div class="content">
<div class="section" id="tab1">Tab 1</div>
<div class="section" id="tab2">Tab 2</div>
<div class="section" id="tab3"><img src=" "
/></div>
<div class="section" id="tab4">Tab 4</div>
</div></div></div>
<script type="text/JavaScript" charset="utf-8">
new Glider('glider');
</script>
我曾嘗試在AJAX腳本代碼試圖獲得$指明MyDate多種變化:此表在單獨的JavaScript「滑翔機」的形式顯示背面的主網頁在一個div標籤(標籤1)直接放到AJAX腳本中,繞過表單併爲它自動執行上面的功能,但沒有任何效果。這可能是一個簡單的答案,它可能只是句法。
如果你已經在PHP中的價值,爲什麼使用AJAX來獲取價值,而不僅僅是用PHP檢索它直接加載表格加載時的頁面? – NightHawk