2014-11-11 3 views
-1

У меня есть HTML-формЕсть ли способ получить данные формы, которые отправляются на сервер, прежде чем на клиентском javascript?

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.

+0

Пожалуйста, объясните downvote .. – laggingreflex

+0

я не голосовал вниз, но, может быть, если вы объясните, что ваши намерения есть, то они могли бы дать вам лучший ответ. – Endless

+0

Я тоже не делал ни слова, но в Интернете есть много ответов в Интернете и в stackoverflow для этого вопроса, который вы задаете. Я бы порекомендовал вам потратить некоторое время на поиски, прежде чем спрашивать. –

ответ

2

Если вы используете jQuery, вы можете использовать метод serializeArray.

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

Даст вам массив как это:

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

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

Смежные вопросы