首页 > 解决方案 > AJAX成功的jQuery更新变量

问题描述

我有以下有效的 jQuery 函数:

var userid = $('.userid').val();

var timer = setInterval(function() {
  var formidlength = $('.formid').val();
  if (formidlength.length < 1) {
    //New Questionnaire
    $.ajax({
      type: 'post',
      url: ajax_object.ajaxurl,
      data: {
        action: 'save',
        data: $('form').serialize(),
        form_user: userid,
      },
      success: function(data) {
        $(".success").html(data);
        $('.formid').val(data);
      }
    });
  }
}, 600);

HTML:

<div class="entry-content">
  <input type="hidden" class="formid" name="formid" value="">
  <input type="hidden" class="userid" name="userid" value="1">
  <div class="form-wrapper">
    <form method="post" class="new">
    </form>
  </div>
</div>

我的函数的基本要点是它会每隔 X 秒自动保存一个表单,在第一次保存时,它会在数据库中创建表单并将 ID 传递回 formid 字段,每隔一次保存它只会更新字段使用 ID 形成表格。

我的问题是if( formidlength.length < 1 ) {不再运行,所以该函数只是不断创建一个新表单。

对此的任何帮助将不胜感激。

标签: jqueryajaxsetinterval

解决方案


推荐阅读