在检查字段之后和提交表单之前做一些事情

Posted

技术标签:

【中文标题】在检查字段之后和提交表单之前做一些事情【英文标题】:Do something after checking fields and before submiting form 【发布时间】:2021-09-03 11:04:16 【问题描述】:

我需要在检查表单的所有输入之后执行某些代码(我不想手动检查),但它将信息发送到后端。

我必须检查是否选中了自定义复选框以及是否使用此代码单击提交:

$('my_form').on('click', function (e) 
    if (!$('custom_checkbox').is(':checked')) 
        e.preventDefault();
        $('.termsError').fadeIn();
        return;
    
);

它只会显示复选框的错误反馈,而不显示其余输入的错误反馈。

我怎样才能做到这一点?

谢谢!

【问题讨论】:

你能出示你的其他支票吗? 没有其他检查,我不想手动进行任何检查,我想要的是在检查字段之后(单击提交时的部分过程)和之前找到一种执行代码的方法将所有数据发送到后台。我这里说的是原生进程。 【参考方案1】:

您可以将侦听器放在提交按钮上,然后如果它通过您的验证条件,则以编程方式提交表单。

$('button[type=submit]').on('click', function(e) 
  e.preventDefault() // stop the auto submission
  if (!$('#custom_checkbox').is(':checked')) 
    $('.termsError').fadeIn();
    return;
   else 
    console.log('SUBMIT')
    // uncomment out the next line
    //$('#myForm').submit();
  
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id='myForm'>
  <div class='termsError' hidden>Please submit to the terms first</div>
  <label><input type='checkbox' id="custom_checkbox" name='custom_checkbox' /> I agree to the terms</label>
  <button type='submit'>Submit</button>
</form>

【讨论】:

以上是关于在检查字段之后和提交表单之前做一些事情的主要内容,如果未能解决你的问题,请参考以下文章

jquery,在提交之前设置单选字段的按钮

PHP做了缓存之后不能提交表单

在提交 IFRAME 表单之前,将父 url 保存到隐藏字段

表单提交而不检查ext js中的必填字段

在提交时检查 jQuery 验证之前的表单提交

在 PHP,Codeigniter 中提交带有空字段的表单时出现一些错误