0

という名前の入力フィールドが複数ありますChange[xxx]。元の方法では、更新ボタンをクリックすると、通常はデータが送信され、データベースが更新されます。Change[xxx]しかし、 Ajax を使用している場合、このデータをどのように渡すのでしょうか? jQueryなしでこれをやりたいです。

HTML:

<input type='text' name='Change[name]' value='Bob' onblur='updateField($id)'></input>

PHP で情報を取得する:

foreach($_POST['Change'] as $field => $value) {
    if($field == 'name') {
        // update database
    }
}

JavaScript:

を使用request.send(...)すると、データの送信方法がわかりません。

function updateField(id) {
    …
    var url = 'orders.php?id='+ id;
    request.open('POST', url, true);
    request.setRequestHeader("Content-type","application/x-www-form-urlencoded");

    var val = document.getElementsByName("Change[name]")[0].value;
    request.send("id=" + id + "&Change[" + val + "]"); 
    …
}
4

1 に答える 1

1

通常とまったく同じです:

request.send("id=" + id + "&Change[name]=" + encodeURIComponent(val));

括弧は HTTP に固有のものではなく、PHP にのみ使用されます。

于 2013-09-21T00:38:25.370 に答える