多种动态形式,e.preventDefault();未正确触发

Posted

技术标签:

【中文标题】多种动态形式,e.preventDefault();未正确触发【英文标题】:Multiple dynamic forms, e.preventDefault(); not triggering properly 【发布时间】:2021-09-19 09:27:59 【问题描述】:

我有一个 php 页面正在生成多个表单(复选框),我想在切换它们时更新数据库 - 无需重新加载页面。我有一个共享类(prim),每个都有一个 id(primary1、primary2 等)。

onChange="this.form.submit()" 没有被捕获和阻止

$(document).on('submit', '.smart-form', function(e) 
    e.preventDefault();
....

谁能帮帮我?

【问题讨论】:

提交处理程序是否被调用?另外,表单元素是否有类smart-form 【参考方案1】:

直接调用form.submit()时,submit事件不会发送到文档中。

Reference

【讨论】:

【参考方案2】:
$('.smart-form').change(function () 
  
  //do some verification
  $.ajax(
    url: 'photoPrimary.php',
    data: $(this).serialize(),
    success: function(data)
    
      //callback methods go right here
    
  );
);

【讨论】:

虽然此代码可以回答问题,但提供有关 如何 和/或 为什么 解决问题的附加上下文将改善答案的长期价值。

以上是关于多种动态形式,e.preventDefault();未正确触发的主要内容,如果未能解决你的问题,请参考以下文章

10 动态属性:[name]动态方法@[event]禁止默认提交e.preventDefault()

e.preventDefault() 阻止默认行为,但不返回 false。为啥?

我正在使用 React-Bootstrap。 e.preventDefault() 不起作用

反向 e.preventdefault?

区别 - “e.preventDefault();”和“返回错误;” [复制]

e.preventDefault(); 有啥区别?并返回假? [复制]