有没有办法在客户端javascript之前获取提交给服务器的表单数据?

时间:2014-11-11 16:17:23

标签: javascript html-form

我有一个HTML表单

form(method="post)
    input(name="field")
    button submit

在服务器上提交后,我收到表单数据作为对象

app.post('/', function(req){
    console.log(req.body);
    // => {field: 'value'}
});

在提交表单之前,有没有办法在客户端javascript上访问此对象?

form(method="post submit="submit(this)")
function submit(){
    this.data? //
    // =?> Something that gives the same object 
    // {field:value}
}

我已经搜索并找到了各种方法,但他们只处理查找特定字段和元素并从中提取值。

document.getElementById("...").value - 不是我想要的。

oText = oForm.elements["text_element_name"]; - 不是我想要的

我想要的是"撰写"通过POST请求发送到服务器的对象。

1 个答案:

答案 0 :(得分:2)

如果您使用的是jQuery,则可以使用serializeArray方法。

$('#myForm').serializeArray();

会给你一个这样的数组:

[
  {
     name:  'inputField1',
     value: 'my value'
  },
  ...
]

http://api.jquery.com/serializeArray/