如何通过AJAX在多个字段中显示价值?

时间:2012-01-15 05:50:16

标签: javascript ajax

我想在更改一个表单文本字段时显示多个值。我可以为一个领域做到这一点,但我无法为多个领域做到这一点。如果我通过AJAX回显多个值,它们将显示在我getElementById中提到的单个fileld或每个字段中。

我用过这个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 个答案:

答案 0 :(得分:0)

模糊问题的模糊答案:

  

删除了代码段

<强>更新

这取决于您的AJAX responseText的格式化方式。我将假设它包含不同字段的不同值(例如pro_info1pro_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