onblur ajax从数组中获取多个表单字段值

时间:2014-05-04 09:35:46

标签: php ajax forms onblur

嗨,我有一个非常小的问题。我正在使用ajax调用来获取客户ID的onblur值。我能够在表单中获得一个值,但我想要多个值来填充表单字段。我的部分代码如下:

req.onreadystatechange = processReqChange; 
req.open("GET", url + '?mob=' + number, true); 
req.send(null); 

function processReqChange() {

    if (req.readyState == 4) { 

        if (req.status == 200) { 
            document.getElementById('oper').value = req.responseText;
                               }
                             }
                            } 

我发送数据的PHP代码:

$f = fopen('file.csv', "r");
    $result = false;
    while ($row = fgetcsv($f)) {
        if ($row[0] == $mob) {
            $result = $row[1];
            break;
        }
    }
    fclose($f);
    echo $result;  

我应该如何发送多个值,如$ row [2],$ row [3]来填充用户名,电子邮件等表单字段。 请指教。

1 个答案:

答案 0 :(得分:1)

标准方法是让PHP返回一个JSON字符串并在JS中解析它。

PHP中的示例(这里没有动态):

echo '{"key1":"value1", "key2":"value2", "key3":"value3"}';

然后在JS中使用它:

var result = JSON.parse(req.responseText);
// now you can use the values returned by PHP
alert(result.key1);

有关如何使用PHP生成JSON的更多信息:http://www.php.net/manual/book.json.php

请注意,此示例非常原始。您可能希望在JS代码中添加更多JSON健全性/有效性检查,当然还有更优雅的PHP生成。