在JavaScript中是否有一种方法可以检索*表格数据*将*与表单一起发送而不提交表单数据?

时间:2011-08-11 13:24:55

标签: javascript form-submit

如果我有HTML表单,请说...

<form id='myform'>
    <input type='hidden' name='x' value='y'>
    <input type='text' name='something' value='Type something in here.'>
    <input type='submit' value='Submit'>
</form>

...然后我使用jQuery来响应表单提交事件,例如

$('#myform').submit(function() {
    ...
    return false;
});

现在假设我想将表单作为AJAX调用提交,而不是以“传统”方式(作为新页面)实际提交它。是否有一种简单的方法来获取包含将要发送的数据的JS对象,我可以将其传递到$.post()?所以在上面的例子中它看起来像......

{
    x: 'y',
    something: 'Type something in here.'
}

还是我必须自己烤?

2 个答案:

答案 0 :(得分:2)

由于您已经在使用jQuery,请使用jQuery.serialize()

$('#myform').submit(function() {
    var $form = $(this);
    var data = $form.serialize();
    // ...
});

答案 1 :(得分:2)

请参阅serialize()方法。

$('#myform').submit(function() {
    jQuery.ajax({
        url: this.action,
        type: this.method,
        data: $(this).serialize(),
        success: function () {
           //
        }
    });

    return false;
});