【问题标题】:Save data to JS array before submiting form提交表单前将数据保存到 JS 数组
【发布时间】:2014-10-02 09:41:29
【问题描述】:

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

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

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

【问题讨论】:

标签: javascript php jquery


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:
      $("form").submit(function(event) {
          var newArray = $(this).serializeArray();
          event.preventDefault();
      });
      

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-11-30
          • 2016-08-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-25
          • 1970-01-01
          相关资源
          最近更新 更多