在提交表单之前将数据保存到JS数组

时间:2014-10-02 09:41:30

标签: javascript php jquery

有没有办法可以首先使用javascript和jquery将表单信息存储到变量中,并且只有当用户点击提交按钮时,保存该数据,否则丢弃它。

我知道html表单也是这样,但我有一个例子,我可以使用相同的输入字段添加多个内容,当用户点击添加按钮内容通过ajax发送到控制器并进行操作然后插入数据库并从数据库条目显示即刻。但我不希望事先将这些数据保存到数据库,只有在提交完整的表单时才会这样。

所以我想首先将数据保存到某个数组而不是直接存储到数据库,只有当用户单击“提交”按钮并将整个表单发送到服务器时才显示并保存到数据库。

4 个答案:

答案 0 :(得分:0)

您可以在提交表单之前使用onsubmit事件(附在表单元素上)来执行javascript代码。

因此,您可以在提交之前进行所有必要的更改,甚至停止提交并启动ajax。

答案 1 :(得分:0)

您可以添加一个事件处理程序,该事件处理程序将在每次使用this在输入字段中发生更改时添加数据。

每次更新数组时都相应。您也可以使用我认为最好的具有不同属性的对象。

答案 2 :(得分:0)

是的,您可以使用以下代码阻止表单提交。

$( "form" ).submit(function( event ) {
console.log( $( this ).serializeArray() );
event.preventDefault();
});

// and use this to create a json array of form.
$( this ).serializeArray();

答案 3 :(得分:0)

$("form").submit(function(event) {
    var newArray = $(this).serializeArray();
    event.preventDefault();
});