将表单值提交给JS数组对象而不是AJAX请求

时间:2015-08-07 20:37:02

标签: javascript jquery ajax forms

现在已经在这个问题上工作了一段时间,我只是无法理解它。有一些类似的答案,但似乎没有任何解决我的确切问题。

所以我有一张表格。这个值都是数字。我想在使用新变量发送单独的AJAX调用之前捕获数组中的值以对它们执行计算。我真的很惊讶这似乎有点难以开始工作。

我的代码应该将表单的值输出到数组x中的键/值对,但是这个数组似乎是空的(每个表单名称/值对包含{object Object}对。

有什么想法吗?如果有更好的方法来实现这一目标,我所有的耳朵(或眼睛,无论如何!)。我想一个简单的方法就是将其绑定到点击而不是提交事件,但我不想丢失所有其他用户表单提交能力(按输入等)。

使用Javascript:

$('#zombieForm').submit(function(event) {
    event.preventDefault()
    var x = $(":input").serializeArray();
    alert(x); //currently using a sandbox without console for this
});

HTML:

<form id="zombieForm" method="post">
    <select name="multi2" required>
        <option value=""></option>
        <option value="100">placeholder value 4</option>
        <option value="50">placeholder value 3</option>
        <option value="25">placeholder value 2</option>
        <option value="0">placeholder value 1</option>
    </select>
    <input type="submit" value="Submit" id="formButton" />
</form>

1 个答案:

答案 0 :(得分:0)

你可以这样做。这是你之后的事吗? Fiddle

$('#zombieForm').submit(function(event) {
    event.preventDefault();
    var yourArray = {};
    $.each($(this).serializeArray(), function() {
        yourArray[this.name] = this.value;
    });
    console.log(yourArray);
});