jQuery Steps插件,带有jQuery验证和部分保存

时间:2016-11-28 08:08:34

标签: jquery ajax forms validation

在Laravel项目中,我遇到了以下情况:

到目前为止我做了什么

  • 部分验证正在进行中。
  • AJAX提交正在进行中。
  • 部分保存不起作用。

所以,
我遇到the nice bit of code来保存部分验证,并使用它。

    $('.actions a[href="#next"]').on('click', function() {
        var the_form = $("#inspect-application");

        // for testing purpose, just passed the first step's ID
        if (the_form.validate().subset('#inspect-application-p-0')) {
            the_form.ajaxSubmit();
        }
    });

表单正在提交数据并保存数据。但是......
实际上,当其他步骤中的所有字段都为空时,它不起作用。因此,该方法无法设法跳过其他步骤的那些字段。这意味着代码正在编辑模式,但不是在添加模式。

然后我遇到了this one: adding and removing classes to the steps。但实际上它没有用。

$('.actions a[href="#next"]').on('click', function() {
      var the_form = $("#inspect-application");

      $("#inspect-application-p-0").removeClass("ignore");
      $("#inspect-application-p-1").addClass("ignore");
      the_form.valid();

      the_form.ajaxSubmit();
});

对类(甚至我添加ignore: 'input[type=hidden], .select2-search__field, .ignore',)没有影响到jQuery验证。

详细

this gist中提供的详细信息中的代码。

现在我正在尝试使用onStepChanging添加和删除类,例如onStepChangedRandom rnd = new Random(); var modeldata = Db.ExamQuestions.Include("ListofOptions").Where(x => x.FkExamId == model.ExamId).Select(q => new QuestionViewModel { QuestionId = q.ID, QuestionDescription = q.QuestionDescription, ExamId = q.FkExamId, CorrectOption = q.CorrectOption, ListofOption = q.ListofOptions.Select(o => new QuestionOptionViewModel { OptionA = o.OptionA, OptionB = o.OptionB, OptionC = o.OptionC, OptionD = o.OptionD }).ToList(), RndOrder = rnd.Next(1, maxNumber) }).OrderBy(q => q.RndOrder).ToList(); 等等。这样我至少可以尝试忽略其他字段。

如果你认为,我的方向错误,任何可能的解决方案都会让你感到高兴。

0 个答案:

没有答案