2012-01-15 40 views
-3

我想在一個表單文本字段的變化上顯示多個值。我可以做一個領域,但我不能做多個領域。如果我通過AJAX回顯多個值,它們會顯示在單個文件夾中,或者我在getElementById中提到的每個字段中顯示。如何通過AJAX在多個字段中顯示值?

我用這個JavaScript:

function iteminfo(vid) { 

    var strURL = "item_info.php?id1=" + vid; 

    var req = getXMLHTTP(); 
    if (req) { 

     req.onreadystatechange = function() { 
      if (req.readyState == 4) { 
       // only if "OK" 
       if (req.status == 200) { 
        document.getElementById('pro_info1').innerHTML=req.responseText; 
       } else { 
        alert("There was a problem while using XMLHTTP:\n" + req.statusText); 
       } 
      } 
     } 
     req.open("GET", strURL, true); 
     req.send(null); 
    } 
} 
+1

顯示您的現有代碼。最簡單的方法(以我的想法)是讓你的服務器返回一些JSON,然後你的JS可以提取單個值並將它們設置在相應的字段中。 – nnnnnn 2012-01-15 05:59:29

+0

AJAX responseText是什麼樣的?你有沒有考慮過使用[JSON](http://www.json.org/)(或另一種數據交換格式)? – PPvG 2012-01-15 09:46:28

回答

0

一個含糊不清的問題一個模糊的答案:

代碼片段中刪除

更新:

這取決於您的AJAX responseText格式化的方式。我將假定它包含不同字段的不同值(例如,pro_info1,pro_info2等),並且應該使用每個值來更新相應的字段。

在這種情況下,建議使用數據交換格式。 JSON是大多數AJAX通信的常用選擇。類似這樣的格式item_info.php迴應:

{ 'pro_info1': 'Value 1', 'pro_info2': 'Value 2' } 

然後更新您的JavaScript解析和處理響應,就像這樣:

// ... 

if (req.status == 200) { 
    var response = JSON.parse(req.responseText); 
    for (var fieldName in response) { 
     var field = document.getElementById(fieldName); 
     if (field !== null) { 
      field.innerHTML = response[fieldName]; 
     } 
    } 
} else { 

    // ... 

不要忘了在你的頁面的<head>加載json2.js

相關問題