在javascript中传递数组元素作为AJAX POST请求的参数

时间:2013-05-06 10:36:57

标签: php javascript prototypejs

我从用户那里获取了一些输入值,我想在AJAX请求中将这些值作为参数发布,这样我就可以在PHP中向数据库中添加一个条目:

我在JS中的功能是:

function reqAdd()
{
    var tablename = $("table").options[$("table").selectedIndex].value
    var fields = new Array();
    var inputs = $$("input.postfields");
    new Ajax.Request(
            "process.php?type=add&table="+tablename,
            {
                method: "post",
                parameters:
                onSuccess: functionName,
                onFailure: ajaxFailure
            }
    );
}

变量输入包含我需要的所有输入字段,因此我只需要提取它们的值,但如果它们没有键,我怎样才能将它们放入参数部分?他们只是价值观。

1 个答案:

答案 0 :(得分:0)

使用带有一系列元素Form.serializeElements()的{​​{1}}并将其转换为准备进行POST的查询字符串或对象。

所以

$$("input.postfields")

var inputs = $$("input.postfields");
inputs = Form.serializeElements(inputs); //add this line

我个人喜欢将对象传递给我的Ajax请求,并跳过提交输入,因此我将选项对象传递给parameters: inputs,

serializeElements()

http://api.prototypejs.org/dom/Form/serializeElements/