【问题标题】:onblur ajax get multiple form field values from arrayonblur ajax 从数组中获取多个表单字段值
【发布时间】:2014-05-04 17:39:15
【问题描述】:

您好,我有一个非常小的问题。我正在使用 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] 来填写用户名、电子邮件等表单字段。 请指教。

【问题讨论】:

    标签: php ajax forms onblur


    【解决方案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 生成。

    【讨论】:

    • thnks 我试过这样,但我仍然只得到 $result[1] 形式而不是 $result[2] var result = JSON.parse(req.responseText); document.getElementById('oper').value = result[1]; document.getElementById('state').value = result[2];
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 1970-01-01
    • 2022-11-27
    • 2017-11-26
    • 2019-09-02
    • 1970-01-01
    • 2014-12-16
    相关资源
    最近更新 更多