表单提交成功时如何使用onSuccess()?

Posted

技术标签:

【中文标题】表单提交成功时如何使用onSuccess()?【英文标题】:How to use onSuccess() when form submitted successfully? 【发布时间】:2020-10-09 02:45:25 【问题描述】:

其实我想要,当我成功提交我的表单时,然后显示一条消息。

但现在总是显示消息。想,当表单提交成功。如果未成功提交,则不显示该消息。

如何知道表单提交成功与否? 又该怎么做呢?

这是我的代码:

$(document).ready(function() 
  $("#snoAlertBox").fadeIn();
  closeSnoAlertBox();
);

function closeSnoAlertBox() 
  window.setTimeout(function() 
    $("#snoAlertBox").fadeOut(200000)
  , 3000);
;
#snoAlertBox 
  position: absolute;
  z-index: 1400;
  top: 2%;
  right: 4%;
  margin: 0px auto;
  text-align: center;
  display: none;
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div style="padding:20px;">
  <form action="">
    <label for="fname">First name:</label><br>
    <input type="text" id="fname" name="fname" value="John"><br>
    <label for="lname">Last name:</label><br>
    <input type="text" id="lname" name="lname" value="Doe"><br><br>
    <input type="submit" value="Submit">
  </form>
</div>
<div id="snoAlertBox" class="alert alert-success" data-alert="alert">Now Update your Search</div>

请帮忙!谢谢。

【问题讨论】:

一种选择是将其发布到控制器或端点,并通过将用户重定向到感谢页面来处理成功或错误。 在您显示的代码中,提交表单时,页面会重新加载,任何地方都没有成功事件 嗯,但不能在 jQuery 中做到这一点? 【参考方案1】:

什么决定表单是否提交成功?我没有看到任何验证或向服务器发送数据。无论如何,您可以将事件侦听器附加到您的表单,但首先,您需要为其添加一个 id,以便可以通过 js 轻松访问它。

例子:

<form action="" id="myForm">
    <label for="fname">First name:</label><br>
    <input type="text" id="fname" name="fname" value="John"><br>
    <label for="lname">Last name:</label><br>
    <input type="text" id="lname" name="lname" value="Doe"><br><br>
    <input type="submit" value="Submit">
  </form>
const form = document.getElementById("myForm");
form.addEventListener("submit", (event) => 
event.preventDefault();
// here you can show something on submit or do whatever you want
);

【讨论】:

以上是关于表单提交成功时如何使用onSuccess()?的主要内容,如果未能解决你的问题,请参考以下文章

当引导验证成功时,如何使用 $.post 提交表单而不进行页面重定向?

提交成功后如何清除表单?

如何使用 vue-resource 在表单提交上添加预加载器和成功消息

表单提交成功后如何在 div 中创建成功消息?

成功提交表单后如何在div中创建成功消息?

表单提交后如何添加成功通知