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


Save data to JS array before submiting form

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

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

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

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

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

您可以添加一个事件处理程序,该程序将在每次输入字段发生变化时添加数据。

每次相应地更新数组时。你也可以使用一个具有不同属性的对象,我认为这是最好的。

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

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

$( "form" ).submit(function( event ) {
console.log( $( this ).serializeArray() );
event.preventDefault();
});
// and use this to create a json array of form.
$( this ).serializeArray();