我有一些困難將正確的id函數傳遞迴AJAX。 我正在創建一個產品公告生成器,通過它的SKU代碼可以添加項目(工作正常)。我的問題是,當單擊公告時,該公告的預覽會加載到div中,並顯示與該公告相關的所有產品。
從這些結果中,我試圖添加從公告中刪除產品的功能。問題是,傳回AJAX的值僅屬於第一個產品。如果它是除第一個項目以外的其他項目,它不會發送屬於特定項目的值。我該如何返回已經通過ajax填充的div的id值
這是獲取經由AJAX加載到一個div並與與所選擇的公告
echo "<form name='myDelForm'>
$news_gen_id<br>
<input type='hidden' id='delccode' value='".$news_gen_id."'>
<input type='hidden' id='deledit' value='".$edit."'>
<input type='button' onclick='ajaxDelCcode()' value='Delete' /><br></form>
</td>";
Ajax代碼相關聯的每個產品環(上的index.php(屬於main.php)的代碼,其中,在main.php也位於調用DIV)是這個
function ajaxDelCcode(){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new
ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById("ajaxMain2");
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
var deledit = document.getElementById("deledit").value;
var delccode = document.getElementById("delccode").value;
var queryString = "?delccode=" + delccode + "&deledit=" + deledit;
ajaxRequest.open("GET", "main.php" + queryString, true);
ajaxRequest.send(null);
}
//-->
</script>
目前,使用這些兩段代碼,我可以成功地只刪除的第一個產品。當產品被循環時,delccode變量似乎沒有變化(儘管當我在循環中回顯變量時,它肯定會變成適當的值......它只是不能正確地將它傳遞迴AJAX。)
我嘗試了AJAX代碼,將它放入main.php產品循環中,並在每個循環中更改函數名稱(例如,ajaxDelCcode $ news_gen_id()),並且也將其放到按鈕本身,以便它調用特定於AJAX的AJAX它。如果你直接訪問main.php,但它在main.php被調用到div之後不能從index.php中運行。
我無法弄清楚如何從main.php傳遞正確的循環值專區內,回AJAX代碼上的index.php
誰能幫助我?
感謝,
達斯汀
對於使用AJAX的人,我強烈建議使用jQuery的。它用少得多的手動編碼來完成Ajax,並且在瀏覽器之間更加兼容。 http://jquery.com/和http://api.jquery.com/jQuery.ajax/。事實上,我不能相信人們仍然這樣做。 – Dutchie432 2012-01-04 16:13:21