我是ajax的新手,我認爲這是一個小問題。 我想知道是否有人能幫助我?頁面加載時發送Ajax表單發送請求
問題:
在HEAD標籤內我的index.php文件,我有以下幾點:
<script type="text/javascript">
var time_variable;
function getXMLObject() //XML OBJECT
{
var xmlHttp = false;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP") // For Old Microsoft Browsers
}
catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") // For Microsoft IE 6.0+
}
catch (e2) {
xmlHttp = false // No Browser accepts the XMLHTTP Object then false
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest(); //For Mozilla, Opera Browsers
}
return xmlHttp; // Mandatory Statement returning the ajax object created
}
var xmlhttp = new getXMLObject(); //xmlhttp holds the ajax object
function ajaxFunction() {
var getdate = new Date(); //Used to prevent caching during ajax call
if(xmlhttp) {
var name = document.getElementById("name");
var date1 = document.getElementById("date1");
var date2 = document.getElementById("date2");
xmlhttp.open("POST","http://heathrowsafeparking.co.uk/modules/mod_hspbooking/calc_days.php",true); //calling testing.php using POST method
xmlhttp.onreadystatechange = handleServerResponse;
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send("name=" + name.value + "&date1=" + date1.value + "&date2=" + date2.value);
}
}
function handleServerResponse() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
document.getElementById("message").innerHTML=xmlhttp.responseText; //Update the HTML Form element
}
else {
alert("Error during AJAX call. Please try again");
}
}
}
</script>
在身,我有以下;提交按鈕調用該函數的onclick:
<form id="hspcalc">
<table width="162" border="0" align="center" cellpadding="2" cellspacing="2" id="quoter" style="width:162px; margin:auto; font-family:verdana; font-size: 12px; background-color:#293a4b; color:#fff;"
>
<tr>
<td height="" align="center" valign="top" style="padding-left:;">
<p style="margin-top:;">
<img src="http://heathrowsafeparking.co.uk/images/stories/getquote_but.png" border="0" /><br />
<div id="message" name="message"></div>
Your Name:<br />
<input name="name" type="text" class="rounded" id="name" />
<br />
<br /> Date of Departure:<br />
<input name="date1" type="text" class="rounded" id="date1" onfocus="showCalendar('',this,this,'','holder1',0,30,1)" value="" />
<br />
<br />
Date of Arrival (Return):<br />
<input name="date2" type="text" class="rounded" id="date2" onfocus="showCalendar('',this,this,'','holder2',0,30,1)" value="" />
<br />
<input type="button" value="Submit" onClick="ajaxFunction();" />
</p>
</td>
</tr>
</table>
</form>
這種運作良好,但是,當我通過一個包含調用index.php文件,如:
<?php include("modules/mod_hspbooking/index.php"); ?>
...我找到了似乎是頁面提交(調用函數)onload,而不是等待用戶點擊提交按鈕。
我似乎找不到解決方案,並希望任何人都能通過快速瀏覽並提供任何建議來幫助您。 請訪問此網址以查看問題的實際情況(右邊的閱讀內容「不幸,我們是......」)。這應顯示錶單,等待用戶輸入,然後單擊提交按鈕。
http://heathrowsafeparking.co.uk
要查看的形式運行獨立的,並且運行良好(即不通過包括調用),請點擊這裏查看:
http://heathrowsafeparking.co.uk/modules/mod_hspbooking/index.php
供參考我的「calc_days收線。 php「文件回顯一個消息,顯示在一個名爲」message「的div中:
在此先感謝您的任何幫助和支持。
問候
湯姆
錯誤出現在您未發佈的某些代碼中。它似乎是一些服務器端PHP代碼的邏輯中的一個突破,如果沒有看到這一點,將無法確定。 – leebriggs 2011-02-18 20:22:32
H我真的非常感謝你的反饋,至此..如果我想提供所有相關文件壓縮,有沒有機會願意再看一看? – 2011-02-18 20:33:51
湯姆,如果你想通過電子郵件發送lee @ ...和我的個人資料中的網站域名。我注意到你也是倫敦的承包商,所以如果我能在5-10分鐘內查到這些東西,請不要介意。 – leebriggs 2011-02-18 21:05:05